1
我無法使用OpenCV(2.3)在ubuntu上成功計算距離轉換。輸出或者是黑色的,或者是原始圖像的副本,但不會像預期的那樣具有漸變的灰度圖像。OpenCV distanceTransform返回意想不到的結果(空的Mat或原始圖像)
我的代碼:
Mat input(Size(100,100), CV_8UC1);
circle(input, Point(50,50), 10 Scalar(255,255,255), 15, 0, 0));
Mat output(Size(100,100), CV_32FC1);
distanceTransformation(input, output, CV_DIST_L2, CV_DIST_MASK_3); //Output is completely black
//distanceTransformation(input, output, CV_DIST_L2, CV_DIST_MASK_PRECISE); //Output is a "copy" of input
imshow("in", input);
imshow("out", output);
有什麼建議?
輸出矩陣的最大值爲零 - 但我不知道爲什麼... – Dennis
奇怪...是你的輸入圖像黑色的白色圓圈?爲什麼不在畫圓之前將其設置爲零? input.setTo(0); – Sam
是的,我的輸入圖像是黑色的,有一個白色圓圈(中間有一個非常小的黑洞)。 setTo(0)不會更改任何內容(令人遺憾)... – Dennis