以字符'B','M'或數字'1','2'作爲圖像。
我必須找出這個字符或數字的長寬比。
我沒有得到正確的值,這是我的代碼:如何查找圖像的寬高比
E = imread('1.jpg');
level = graythresh(E);
BW = im2bw(E,level);
[m,n]=size(BW);
AR=m/n
以字符'B','M'或數字'1','2'作爲圖像。
我必須找出這個字符或數字的長寬比。
我沒有得到正確的值,這是我的代碼:如何查找圖像的寬高比
E = imread('1.jpg');
level = graythresh(E);
BW = im2bw(E,level);
[m,n]=size(BW);
AR=m/n
你需要採取的字符的邊界框的縱橫比
s = regionprops(BW, 'BoundingBox');
AR = s.BoundingBox(4)/s.BoundingBox(3);
見doc的regionprops
爲'BoundingBox'
中的值。
我得到錯誤「在調用regionprops之前,使用bwlabel(BW)或double(BW)將二進制圖像轉換爲 標籤矩陣。」之後我使用L = bwlabel(BW); s = regionprops(L,'BoundingBox');然後我得到錯誤行AR = s.BoundingBox(4)/ s.BoundingBox(3) – aryan
@aryan你得到一個錯誤,可能是因爲你有'BW'多個連接組件。使用與我在上一個問題的答案中使用的相同的循環。或者,使用'double(BW)'確保將所有'1'像素作爲同一個對象(在您的示例中,這看起來像首選方法)。 – Shai
我使用** double(BW)**,我得到了結果。非常感謝你.. – aryan
相關(不復制)問題:[統計圖像中前景和背景像素數量](http://stackoverflow.com/questions/16055949/count-the-number-of-foreground-and-background-像素在圖像中) – Shai