2014-03-30 69 views

回答

0

距離轉換的opencv文檔聲明輸入圖像必須是「8位,單通道」(CV_8UC1),並且輸出圖像將是「32位浮點單通道」 (CV_32FC1)http://docs.opencv.org/modules/imgproc/doc/miscellaneous_transformations.html

您的輸入圖像可能不是CV_8UC1。要獲得一個,您可以使用比較運算符,如>=,如距離轉換distrans.cpp上的示例代碼(在源代碼中,位於opencv/samples/cpp中)。

Mat edge = gray >= edgeThresh; 

edge將是輸入,gray可以是灰度圖像和edgeThresh是整數(= 100)。

爲了得到一個灰度圖像,你可能首先使用:How can I convert a cv::Mat to a gray scale in OpenCv?

cv::cvtColor(colorMat, gray, CV_BGR2GRAY); 

再見,