Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

Specific image intensity for further processing.

조회 수: 2 (최근 30일)
kwan karmeng
kwan karmeng 2014년 7월 25일
마감: MATLAB Answer Bot 2021년 8월 20일
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.

답변 (2개)

Ben11
Ben11 2014년 7월 25일
편집: Ben11 2014년 7월 25일
Try this:
PixelsofInterest = (YourImage == 150); % get the location of the pixels you want to analyze
imshow(PixelsofInterest)

Image Analyst
Image Analyst 2014년 7월 25일
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
kwan karmeng
kwan karmeng 2014년 7월 26일
I want to interpolate the specific intensity, to remove specular reflection actually.
Image Analyst
Image Analyst 2014년 7월 26일
That didn't answer either question. But maybe you want roifill().

Community Treasure Hunt

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

Start Hunting!

Translated by