2
我正在通過O'Reilly系列的「學習OpenCV」一書,嘗試執行Canny邊緣檢測示例。Canny邊緣檢測 - 灰度圖像始終顯示爲3通道,不可用?
我選擇的任何灰度圖像似乎都有3個通道,據我所知,canny只能處理單通道圖像,所以這總是失敗。我甚至使用OpenCV提供的圖像。
這裏是我的代碼..
IplImage* doCanny(IplImage* in, double lowThresh, double highThresh, double aperture)
{
if(in->nChannels != 1)
return(0); //canny only handles gray scale images
IplImage* out = cvCreateImage(cvSize(in->width, in->height), IPL_DEPTH_8U, 1);
cvCanny(in, out, lowThresh, highThresh, aperture);
return(out);
};
IplImage* img = cvLoadImage("someGrayscaleImage.jpg");
IplImage* out = doCanny(img, 10, 100, 3);
爲什麼會這樣一直給我3路圖像?我該如何解決這個問題?
真棒,謝謝!我沒有意識到這個參數被拖欠了。 – cvcentral 2010-05-10 02:23:13
該頁面是OpenCV的良好網頁。我之前一直使用openCV時總是使用它 – vodkhang 2010-05-10 03:00:48