How to associate a rectangle with a struct?
    5 views (last 30 days)
  
       Show older comments
    
    Oliver Lestrange
 on 5 Aug 2020
  
    
    
    
    
    Commented: Walter Roberson
      
      
 on 7 Aug 2020
            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)?
Accepted Answer
  Walter Roberson
      
      
 on 6 Aug 2020
        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 Comments
  Walter Roberson
      
      
 on 7 Aug 2020
				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.
More Answers (0)
See Also
Categories
				Find more on Read, Write, and Modify Image in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


