2
所以我想侵蝕二進制矩陣。 我創建使用此代碼矩陣:cv ::腐蝕錯誤與二進制cv ::墊
下面是我使用的源圖片:
這是什麼我與我的循環(它的TMP矩陣):
我想使用此代碼蠶食圖片,以便之後:
int erosion_elem = 1;
int erosion_size = 8;
int erosion_type;
if(erosion_elem == 0){ erosion_type = MORPH_RECT; }
else if(erosion_elem == 1){ erosion_type = MORPH_CROSS; }
else if(erosion_elem == 2) { erosion_type = MORPH_ELLIPSE; }
Mat element = getStructuringElement(erosion_type,
Size(2*erosion_size + 1, 2*erosion_size+1),
Point(erosion_size, erosion_size));
/// Apply the erosion operation
erode(binary, erosion_dst, element);`
所以它編譯好,但我得到的這條線的異常:
erode(binary, erosion_dst, element);`
它說,它是一個不支持的數據類型。 有沒有人有一個想法,爲什麼我會得到這個異常?
我試圖改變矩陣tmp的數據類型,但我有同樣的錯誤。
感謝您的幫助! ( - 在8位> - CV_8U> 1個字節)
你的二進制圖像與CV_8U(無符號字符)存儲在一起,你可以試試 'tmp.at <無符號字符>(i,j)= 255;'填充你的tmp Mat? – Marcassin
@Marcassin是的,它的作品謝謝你! 昨天我改變了我的矩陣的數據類型,我忘了在我的填充中改變它。 我覺得很蠢! 再次感謝您! – Sherokan
@Sherokan接受下面的答案來結束這個問題。 – William