how do I select only the segmented region from a original image in MATLAB
4 次查看(过去 30 天)
显示 更早的评论
I need a little help.
I have a MATLAB code in which I've segment out an original image into multiple segments. Now I want to select only a specific segmented area and give it as an input to my function. I have attached my segmented image in which desired part is shown along with the black pixels. How do I select only the desired region, I don't want black pixels region.
Thanks,
for k = 1:max(max(l))
color = img;
color(rgb_label ~= k) = 0;
segmented_images{k} = color;
image = double(segmented_images{k})/255.0;
end
0 个评论
采纳的回答
更多回答(1 个)
Image Analyst
2021-6-20
You could do
mask = max(rgbImage, [], 3) > 0;
[r, c] = find(mask); % Find rows and columns of non-zero pixels
row1 = min(r);
row2 = max(r);
col1 = min(c);
col2 = max(c);
croppedImage = rgbImage(row1:row2, col1:col2, :);
5 个评论
Image Analyst
2021-6-20
Matt's right. Why do you want that anyway? Do you want transparent pixels, like I think PNG images can have so that you can see the background. I never do that since it has no real use in image analysis. If you think you need transparent pixels, explain why? Because I would counter that you don't, even though you think you might. It's not necessary to do any kind of image analysis on the image.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!