2012-12-15 84 views
0

我使用VS2010,OpenCV的2.1,Windows XP和我得到的错误:异常的内存位置为什么我用opencv和houghlines得到这个错误?

一般来说,这是因为东西在NULL,但这种情况并非如此:

VideoCapture cap = VideoCapture(); // open the default camera 
cap.open("smartbeam1.avi"); 
if(!cap.isOpened()) // check if we succeeded 
    return -1; 

Mat edges,color_dst; 
Mat frame ; 

namedWindow("original",1); 
namedWindow("edges",1); 

for(;;) 
{ 
    cap >> frame; // get a new frame from camera 
    cvtColor(frame, edges, CV_BGR2GRAY); 
    GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5); 
    Canny(edges, edges, 0, 30, 3); 

//Houg 
    vector<Vec2f> lines; 
    **HoughLines(edges, lines, 1, CV_PI/180, 100);//I Get Location Memory** 
... 
} 
+1

你的代码在Ubuntu 12.10,Opencv 2.4.3上正常工作。 – ArtemStorozhuk

+0

即时通讯使用Windows XP :(。 – Jonh

+1

请尝试更新的OpenCV版本。 –

回答

0

最好使用

vector lines; HoughLinesP(边,线,1,CV_PI/180,阈值,minLineLengh,maxLineGap);