Clear Filters
Clear Filters

HELP image processing!

2 views (last 30 days)
MartiBB
MartiBB on 7 Jan 2016
Commented: MartiBB on 11 Jan 2016
Hello, I have a question about this ultrasound image. I have to calculate some statistical parameters of the image (mean, std etc) but I want to consider only the pixels below the yellow line.
I know the coordinates of the points that make up the yellow line. How can I do? Thank you in advance.

Accepted Answer

Image Analyst
Image Analyst on 7 Jan 2016
Create a mask of the region you want, then get the stats:
[rows,columns, numberOfColorChannels] = size(grayImage);
mask = poly2mask(x,y,rows,columns);
theMean = mean(grayImage(mask));
theSD = std(grayImage(mask));
  3 Comments
Image Analyst
Image Analyst on 9 Jan 2016
I knew that. I was assuming that you knew how to pass them into polymask. I'm assuming you have your line coordinates in x and y. So all you need to do is to add points at the bottom of the image.
% Get x at the bottom of the image
xb1 = x(1);
xb2 = x(end);
% Get complete x - a completely closed polygon.
x = [xb1, x, xb2, xb1]; % Make closed polygon.
% Get y at the bottom
[rows,columns, numberOfColorChannels] = size(grayImage);
y = [rows, y, y(end), rows]; % Make closed polygon.
% Create the mask from x and y.
mask = poly2mask(x,y,rows,columns);
% Get stats
theMean = mean(grayImage(mask));
theSD = std(grayImage(mask));
MartiBB
MartiBB on 11 Jan 2016
Thank you!!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!