How Can I do image extraction of chosen region?
3 次查看(过去 30 天)
显示 更早的评论
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/472792/image.jpeg)
I have an mammogram image . I use roipoly command to draw tumor suspicious area . Maybe something easier ways to draw that blue polygon.
My question is I need to extract that blue polygon tumor suspicious region from original image and then I will segment that extracted image.
How Can I do that ?
(The image was taken from mias database).
0 个评论
采纳的回答
Image Analyst
2020-12-29
Once you have the mask, do this:
% Mask the image using bsxfun() function to multiply the mask by each channel individually.
% Works for gray scale as well as RGB Color images.
maskedImage = bsxfun(@times, rgbImage, cast(mask, 'like', rgbImage));
changing the names to whatever you want to call them.
12 个评论
Image Analyst
2021-1-5
I already told you:
mask = false(rows, columns);
drawAnother = true;
while drawAnother
thisMask = roipoly(); % or however you want to get it.
mask = mask | thisMask;
% ask user if they want to draw another with questdlg().
promptMessage = sprintf('Do you want to Continue processing,\nor Quit processing?');
titleBarCaption = 'Continue?';
buttonText = questdlg(promptMessage, titleBarCaption, 'Continue', 'Quit', 'Continue');
if contains(buttonText, 'Quit', 'IgnoreCase', true)
drawAnother = false;
end
end
Now mask will have several polygon regions on it and you can just pass it to regionprops():
props = regionprops(mask, 'All'); % Or whatever measurements you want.
更多回答(1 个)
KALYAN ACHARJYA
2020-12-29
编辑:KALYAN ACHARJYA
2020-12-29
Steps:
- Draw
- Right Click (Cursor above the Drawing)
- Create Mask
- Save the Mask
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/473102/image.png)
3 个评论
KALYAN ACHARJYA
2020-12-30
编辑:KALYAN ACHARJYA
2020-12-30
After these steps, please follow Image Anayst answer (Below)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!