我這樣做:如何在Mat對象中查找Canny邊緣檢測到的像素?
Imgproc.Canny(mGraySubmat, mIntermediateMat, 50, 100);
阻止我當I'm錯誤:
1.現在邊緣應該是mIntermediateMat。
2. mIntermediateMat中的所有像素應具有0或255的顏色值。(我使用mIntermediateMat.get(x,y)獲取值)。
3. mIntermediateMat.type()=>墊[480 * 640 * CV_8UC1,isCont =真,isSubmat =假,nativeObj = 0x139ec0,DATAADDR = 0x4453d010]
和
mGraySubmat.type()=>墊[480 * 640 * CV_8UC1,isCont = true,isSubmat = true,nativeObj = 0x1e8308,dataAddr = 0x450b4010]
現在讓我們說Canny檢測到類似於矩形的邊。現在我從這個矩形內的種子點開始,步行到北,南,東,西,並檢查每個像素值,直到到達邊緣。
查看結果:
圖片可以在這裏http://i.stack.imgur.com/JWVJW.png
發現步行到北似乎工作。在座標:x,y = 239,346 - >右邊找到值爲255的像素南:在x處找到值爲255的像素,y = 239,488(實際上488不能,因爲480是最大) - >錯誤
東:像素在x處找到值255,y = 342,388 - >錯誤
West:找不到像素,出現屏幕... - >錯誤
問題:什麼錯誤?爲什麼當我走過它時沒有檢測到邊緣像素。
重要提示:在圖片的頂部和左側有一個尺寸爲100像素的比例尺。原點位於左上角,x,y = 100,350的座標是右100像素和下像素350像素。