how to mark pixel as zero
1 次查看(过去 30 天)
显示 更早的评论
Hi all
I have a segmented image i want to process only the larger segment. so i want to make the remaining pixels as zero. Please help me how i can do it.
2 个评论
Image Analyst
2012-7-24
You don't need to make the remaining pixels zero in order to measure the largest "segment".
采纳的回答
Image Analyst
2012-7-23
Use regionprops to get the areas then get them all in an array so you can determine the largest.
measurements = regionprops(labeledImage, 'Area');
allAreas = [measurements.Area];
[sortedAreas sortIndexes] = sort(allAreas);
% Then mask your image or create a new one from the largest blob.
3 个评论
Image Analyst
2012-7-24
编辑:Image Analyst
2012-7-24
You can get the largest region. It's sortIndexes(1). Just extract the label for the largest image with ismember(). Then turn it into a binary image and use that to "mark all pixels as zero except largest region" in your original image.
biggestLabel = ismember(labeledImage, sortIndexes(1));
binaryImage = biggestLabel > 0;
% If you want the original image masked:
maskedImage = grayImage;
maskedImage(~binaryImage) = 0;
If this code doesn't work for you, let me know tomorrow and maybe I can adapt my blobs demo (in my File Exchange) to find the largest blob. But like I said in the comment, you don't need to zero anything out to get the measurements of the largest blob, so I don't know why you think you do, unless you just want to display it for curiosity's sake.
Image Analyst
2012-7-24
Muhammad, you can color your labels like this, instead of all that code you gave in your comment below:
labeledImage = bwlabel(binaryImage, 8); % Label each blob so we can make measurements of it
coloredLabels = label2rgb (labeledImage, 'hsv', 'k', 'shuffle'); % pseudo random color labels
imshow(coloredLabels);
更多回答(1 个)
jagadeeshwar
2012-7-23
hai imran just crop the image which segment u want it can be enlarge after crop operation
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!