How can I crop selected portion of an image and place it in a white background?

4 次查看(过去 30 天)
I am trying to modify a code for watershed method segmentation, and the output figure is this. However, I want to subplot another image in this figure with only the tumor within the boundary in a blank background. How can I do it?

采纳的回答

Image Analyst
Image Analyst 2021-5-21
Try this:
subplot(2, 1, 1);
% Display RGB image with yellow boundary burned into it.
imshow(rgbImage); % or display the gray scale image then call hold on and then call plot(xYellow, yYellow, 'y-', 'LineWidth', 3)
subplot(2, 1, 2);
% Mask the image using bsxfun() function to multiply the mask by each channel individually. Works for gray scale as well as RGB Color images.
maskedRgbImage = bsxfun(@times, rgbImage, cast(mask, 'like', rgbImage));
imshow(maskedRgbImage);
If you don't have mask, you can get it from the coordinates of the yellow boundary
[rows, columns, numberOfColorChannels] = size(rgbImage);
mask = poly2mask(xYellow, yYellow, rows, columns);

更多回答(1 个)

Tawsif Mostafiz
Tawsif Mostafiz 2021-5-22
Nevermind, found it!

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by