2013-03-27 155 views
0

我運行代碼來檢測在Visual Studio 2008中的OpenCV 2.1線,這裏是代碼的某些部分:線檢測的OpenCV

    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的錯誤:不支持的格式或未知functi格式組合() N,文件........ \ OCV \的OpenCV \ SRC \ CV \ cvcanny.cpp 66行

如何任何提示解決這個問題...

回答

2

默認情況下,當你加載一個圖像時,它將它加載爲colo你的圖片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); 
+0

非常感謝:)我已經忘記這樣做...... @薩菲爾 – 2013-03-27 08:16:56