HELP image processing!
2 views (last 30 days)
Show older comments
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.
0 Comments
Accepted Answer
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
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));
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!