线路检测openCV

时间:2013-03-27 05:57:45

标签: opencv

我正在运行一个代码来检测visual studio 2008中openCV 2.1中的行,这里是代码的一部分:

                  IplImage* src=cvLoadImage("parrot.png");

                  IplImage* dst = cvCreateImage( cvGetSize(src), 8, 1 );
                  IplImage* color_dst = cvCreateImage( cvGetSize(src), 8, 3 );
                  CvMemStorage* storage = cvCreateMemStorage(0);
                  CvSeq* lines = 0;
                  int i;
          int choice=0;
                  cvCanny( src, dst, 10, 100, 3 );

代码编译正常,但运行时出现以下错误: OpenCV错误:未知函数中不支持的格式或格式组合() n,文件........ \ ocv \ opencv \ src \ cv \ cvcanny.cpp,第66行

有关如何解决此问题的任何提示......

1 个答案:

答案 0 :(得分:2)

默认情况下,加载图片时会将其加载为彩色图片cvLoadImage(const char* filename, int iscolor=CV_LOAD_IMAGE_COLOR)。 Canny需要单通道图像作为输入和输出void cvCanny(const CvArr* image, CvArr* edges, double threshold1, double threshold2, int aperture_size=3)。因此,我认为如果您将图像加载为灰度或稍后将其转换为灰度,它应该可以工作。

或者:

IplImage* src=cvLoadImage("parrot.png", CV_LOAD_IMAGE_GRAYSCALE );

或者:

cvtColor(src, src, CV_RGB2GRAY);