2013-04-17 31 views
-2

我想在我的网络摄像头输出中画一条线。这是我到目前为止所尝试的。在Opencv 2.4.5和VC++ 2010中遇到的问题

#include<opencv\cv.h> 
#include<opencv\highgui.h> 

using namespace cv; 
Point p1 = Point(100,80); 
Point p2 = Point(200,80); 
int main(){ 
    Mat image; 
    VideoCapture cap; 
    cap.open(0); 
    namedWindow("window", CV_WINDOW_AUTOSIZE); 
    while(1){ 
     cap>>image; 
     imshow("window", image); 
     line(image,p1,p2,Scalar(0,255,0),2); 
     waitKey(33); 
    } 
    return 0; 
} 

回答

1

您的代码首先显示图像,然后绘制一条线 - 它不起作用,您必须先画线。

while(1){ 
    cap>>image; 
    line(image,p1,p2,Scalar(0,255,0),2); 
    imshow("window", image); 
    waitKey(33); 
}