HELP image processing!

2 次查看(过去 30 天)
MartiBB
MartiBB 2016-1-7
评论: MartiBB 2016-1-11
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.

采纳的回答

Image Analyst
Image Analyst 2016-1-7
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 个评论
Image Analyst
Image Analyst 2016-1-9
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));

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by