簡體   English   中英

如何使用Matlab查找圖像中矩形的長度和寬度

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM