find pixels of a line in picture

3 views (last 30 days)
lena kappa
lena kappa on 24 Mar 2021
Commented: lena kappa on 24 Mar 2021
Hello everyone, i have a question maybe its really easy but i dont really know how to do it.
How can i find the pixels in the pixture that corresponde in a certain line within the picture.
For example if i have the image bellow and i draw the red line as shown below how can i find the pixels of the image that are in that line.

Answers (1)

KALYAN ACHARJYA
KALYAN ACHARJYA on 24 Mar 2021
Edited: KALYAN ACHARJYA on 24 Mar 2021
% Load the image
rgbImage=imread('image_line.png');
% Get the one plane/Gray Image
red_channel=rgbImage(:,:,1);
% Segment the ROI
line_seg=bwareafilt(imbinarize(red_channel,0.85),1);
% Display the Region of Interest
figure,imshow(line_seg);
% Get the rows and column indices of ROI
[r,c]=find(line_seg==1);
% Get the pixel values of particular rows & columns
rgbImage(r,c,:)
Note: you may get 3 pixels values for single row & cloumns indices, as there are three plane in the RGB image.
  3 Comments
KALYAN ACHARJYA
KALYAN ACHARJYA on 24 Mar 2021
The original attached image is RGB image
lena kappa
lena kappa on 24 Mar 2021
yes you are right it was my mistake.
what i wanted was to first draw the line in the pic and then find the coresponding pixel.
So for example if i want to draw a line 45 degrees starting from the point (0,0) of the pic and then find the coresponding pixels of that line.
Sorry if i did not post my question very crearly.

Sign in to comment.

Categories

Find more on Image Processing Toolbox 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!