how to mark pixel as zero
    1 view (last 30 days)
  
       Show older comments
    
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 Comments
  Image Analyst
      
      
 on 24 Jul 2012
				You don't need to make the remaining pixels zero in order to measure the largest "segment".
Accepted Answer
  Image Analyst
      
      
 on 23 Jul 2012
        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 Comments
  Image Analyst
      
      
 on 24 Jul 2012
				
      Edited: Image Analyst
      
      
 on 24 Jul 2012
  
			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
      
      
 on 24 Jul 2012
				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);
More Answers (1)
  jagadeeshwar
 on 23 Jul 2012
        hai imran just crop the image which segment u want it can be enlarge after crop operation
4 Comments
See Also
Categories
				Find more on Computer Vision with Simulink in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

