how do i select only a certain area of ​​an image and then use it to get the mean pixel value?

2 views (last 30 days)
How can i select only the central red area of ​​the star and then get the mean pixel value of the red channel?

Answers (1)

KALYAN ACHARJYA
KALYAN ACHARJYA on 7 Mar 2021
Edited: KALYAN ACHARJYA on 7 Mar 2021
This is all about how you can correctly segregate ROI, what the red fields refer to, as there is no clear boundary in the area of interest items, the easiest way-
red_channel=rgbImage(:,:,1);
bwimage=imbinarize(rgbImage(:,:,1),0.3);
% Get the largest blob only
bwimage=bwareafilt(bwimage,1);
% Get data for mean
sum_pix=sum(bwimage(:));
mask=uint8(cat(3,bwimage,bwimage,bwimage)); % Just for display purpose
% Mask operation on Red Channel
red_seg=red_channel(bwimage);
fprintf('The Mean is: %f',sum(red_seg)/sum_pix);
imshow([rgbImage,mask.*rgbImage;])
  7 Comments
Giuseppe Ronci
Giuseppe Ronci on 11 Mar 2021
Edited: Giuseppe Ronci on 12 Mar 2021
@KALYAN ACHARJYA i have another question. Could you tell me how to change your code to give me also the standard deviation of the mean pixel value of the red channel?
if i tried to enter this command could it be ok? the command is: std (red_seg)
Giuseppe Ronci
Giuseppe Ronci on 14 Mar 2021
@Image Analyst Can you help me? I tried to insert in various ways the command to do the standard deviation to add to the mean pixel value so as to have the error beyond the average but the code gives me an error. Do you know how I can change the code?

Sign in to comment.

Categories

Find more on Image Processing Toolbox 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!