【发布时间】:2013-12-03 05:22:37
【问题描述】:
我正在尝试对图像应用概率霍夫变换,但出现以下编译器错误:
'IplImage* {aka _IplImage*}' 类型的表达式对'cv::InputArray {aka const cv::_InputArray&}' 类型的引用的初始化无效
/opt/ros/fuerte/include/opencv2/imgproc/imgproc.hpp:482:19: 错误:在传递'void cv::HoughLinesP(cv::InputArray, cv::OutputArray, double,双,整数,双,双)'
IplImage *imageD, *src; //src -is read from a *.png and preprocessed
...
imgageO=imageD = cvCreateImage( cvSize(src->width,src->height), 8, 1 );
cvCopy(src, imageO);
...
HoughLinesP(imageD, lines, 1, CV_PI/180, PHTdThresh, PHTdmin, PHTdmax );
HLP() 的第一个参数是 InputArray 图像: – 8 位,单通道二进制源图像。图片可以被函数修改。
我想,我对这里的指针处理感到困惑。
此外,如果我更改第一个参数:
HoughLinesP(*imageD, lines, 1, CV_PI/180, PHTdThresh, PHTdmin, PHTdmax );
比它编译但在运行时我得到核心欺骗上面的行:
OpenCV 错误:cvarrToMat 文件中的参数错误(未知数组类型) /tmp/buildd/ros-fuerte-opencv2-2.4.2-1precise-20130312-1308/modules/core/src/matrix.cpp, 在抛出一个实例后调用第 697 行终止 'cv::异常'什么(): /tmp/buildd/ros-fuerte-opencv2-2.4.2-1precise-20130312-1308/modules/core/src/matrix.cpp:697:错误:(-5)函数cvarrToMat中的未知数组类型
中止(核心转储)
【问题讨论】:
标签: opencv hough-transform iplimage