How to associate a rectangle with a struct?

조회 수: 1 (최근 30일)
Oliver Lestrange
Oliver Lestrange 2020년 8월 5일
댓글: Walter Roberson 2020년 8월 7일
Hi there Community,
I have the folllowing image and the antenna:
[Horizontal,Vertical,Optional] = msiread(strcat(pathName,fileName));
How can I associate a rectangle to an antenna?
I made the rectangle using:
rectangle('Position', [(x - handles.Rwidth/2) (y - handles.Rwidth/2)...
handles.Rwidth handles.Rheight], 'FaceColor', 'g','LineStyle', 'none');
Is it possible to affect the rectangule with the struct (antenna)?
  댓글 수: 10
Adam Danz
Adam Danz 2020년 8월 6일
So this is an image processing problem as Walter Roberson elluded to, correct?
Oliver Lestrange
Oliver Lestrange 2020년 8월 6일
Yes

댓글을 달려면 로그인하십시오.

채택된 답변

Walter Roberson
Walter Roberson 2020년 8월 6일
rgb = imread(filename) ;
mask = rgb(:, 1) < 32 & rgb(:, 2) > 224 & rgb(:, 3) > 224;
mask = bwareafilt(mask, [50 inf]);
props = regionprops(mask, 'centroid') ;
locations = vertcat(props.Centroid);
The constants in the above are not tested, only "by eye", and probably need to be adjusted.
The resulting variable will be a something by 2 array in which the first column is x and the second is y. Note that x corresponds to columns, second array index, and y corresponds to row, first index.
  댓글 수: 4
Oliver Lestrange
Oliver Lestrange 2020년 8월 7일
And why the < 32 and > 224 ? Where this numbers came from?
Walter Roberson
Walter Roberson 2020년 8월 7일
Looks like I should have used
mask = rgb(:, :, 1) > 224 & rgb(:, :, 2) > 224 & rgb(:, :, 3) < 32;
as I was mistaken about the composition of yellow in RGB.
filename = 'image.png';
rgb = imread(filename) ;
mask = rgb(:, :, 1) > 200 & rgb(:, :, 2) > 200 & rgb(:, :, 3) < 32;
maskfilt = bwareafilt(mask, [50 inf]);
props = regionprops(maskfilt, 'centroid') ;
locations = vertcat(props.Centroid);
imshow(rgb)
hold on
scatter(locations(:,1), locations(:,2), 'r*')
hold off
The 32 and 224 came from my experience with RGB colors.
Your yellow blobs appear to be approximately "dark yellow 1". You can tell the values by imshow(rgb) and using the data cursor tool to read RGB values off of the image.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Phased Array Design and Analysis에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by