[英]How to find the length and breadth of a rectangle in an image using matlab
我有下面根據我記錄的值生成的圖像。 我已將值轉換為縮放圖像,然后將其調整為36 x 52圖像。
此圖顯示了我使用的值的升級版本。 我需要做的是計算填充有綠色的形狀的長度和寬度。 下圖顯示了我想要的。
我已將圖像轉換為二進制圖像,然后嘗試使用regionprops使用以下代碼來計算長度和寬度。
B = im2bw(A);
B1 = double(A);
Props = regionprops(B1,'MajorAxisLength','MinorAxisLength');
我沒有獲得突出顯示區域的尺寸,而是獲得了所有二進制值為1的區域。
我已經獲得了綠色區域以及黃色/橙色區域的長度和寬度。 如果將rgb轉換為二進制圖像,則得到以下圖像,而我想要的只是中心矩形的尺寸。
我獲得的尺寸包括側面的其他兩個白色區域。 我應該消除它們,或者只計算矩形的尺寸。如何繼續查找矩形的面積。 還是有其他方法可以做到? 提前致謝!!!
我猜您的圖片A的大小為36x52x3,其中3表示紅色,綠色和藍色。 因此,如果您更換
B = im2bw(A);
使用以下代碼:
a = double(A); % in case it is integer type
a = a(:,:,2) - a(:,:,1) - a(:,:,3); % try to find green only
B = im2bw(a); % you may need to set level based on image data type
你應該得到你想要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.