Specific image intensity for further processing.
Info
This question is closed. Reopen it to edit or answer.
Show older comments
How do i select a specific intensity of an image? For example i would like to process only the intensity of 150 on grayscale image.
Answers (2)
Try this:
PixelsofInterest = (YourImage == 150); % get the location of the pixels you want to analyze
imshow(PixelsofInterest)
Image Analyst
on 25 Jul 2014
What does "process" mean? It's trivial to find a "map" - a binary image - that says where the pixels with value 150 are.
binaryImage = grayImage == 150;
But what you do after that depends on what you want to do. If you just want a 1D list of pixel values, you can do
pixelValues = grayImage(binaryImage); % Of course they will all equal 150.
If you want the sum of the pixels (the count), do
totalArea = sum(binaryImage(:));
If you want the perimeter, Solidity, Equivalent circular Diameter, or something like that, you'll have to do
labeledImage = bwlabel(binaryImage);
measurementsStructure = regionprops(labeledImage, grayImage, 'all');
You can pass in specific measurements instead of 'all' if you know what they are.
See the Image Segmentation Tutorial in my File Exchange for a better discussion and demo. http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862
4 Comments
kwan karmeng
on 26 Jul 2014
Image Analyst
on 26 Jul 2014
What are you interpolating between? And what does the 150 have to do with that???
kwan karmeng
on 26 Jul 2014
Image Analyst
on 26 Jul 2014
That didn't answer either question. But maybe you want roifill().
This question is closed.
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!