# How we can get the pixel values of an object in an image in matlab??

1 view (last 30 days)
halima jamil on 24 Aug 2015
Commented: Walter Roberson on 31 Aug 2015
how we can get the pixel values of red line from starting to end point and return its pixel values.

Image Analyst on 29 Aug 2015
Since you posted this as a brand new question, and left out any context, you've confused the other people that answered. That's why you should have asked this in your original question where I gave you the answer: http://www.mathworks.com/matlabcentral/answers/233509#answer_189277 The answer is "maxDistance" which is in the code that actually created that red line you're showing above. Go back to your original question to see.
Walter Roberson on 31 Aug 2015
You run the code he showed you before, and the length of the rice grain is stored in maxDistance .

JangHo Cho on 24 Aug 2015
Let's say your picture has 300 x 150 pixels and RGB color. you can read the image by using imread() function
image = imread('your_pic.jpg'); and you can see the size of image by size(image). It will be 150 x 300 x 3 uint8 array. The array has 3 planes of colors RGB. You can find out what is the red color plane by imshow(image(:,:,1)) imshow(image(:,:,2)) imshow(image(:,:,3)) Now you know which plane is red color. Check the values of the pixels of the plane. if a pixel has values in red plane and there are zero values in other plane, the pixel is red. right? Maybe you should use for loop.
Image Analyst on 29 Aug 2015
That's what I did. I drew the line in the overlay with plot(), AND I calculated the length of the line directly, so there is no reason at all to create some kind of image with a red line burned into it.

Matt J on 29 Aug 2015
Edited: Matt J on 29 Aug 2015
If BW1 is the binary image before you added the line and BW2 is the same image after you added the line, then simply do
[I,J]=find(BW2&~BW1);
Although, I'm not sure how you would have added the line without knowing its pixels in the first place...

Walter Roberson on 29 Aug 2015