我跑從這個問題Blending does not remove seams in OpenCV的答案,但我得到OpenCV的距離變換錯誤
OpenCV的錯誤:不支持的格式或格式的源圖像的組合必須8UC1和距離映射必須32fc1或8uC1在簡單的情況下, L1距離變換>>在未知函數中。
爲什麼我得到這個錯誤?它是否與我的輸入有關?
我跑從這個問題Blending does not remove seams in OpenCV的答案,但我得到OpenCV的距離變換錯誤
OpenCV的錯誤:不支持的格式或格式的源圖像的組合必須8UC1和距離映射必須32fc1或8uC1在簡單的情況下, L1距離變換>>在未知函數中。
爲什麼我得到這個錯誤?它是否與我的輸入有關?
距離轉換的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);
再見,