MATLAB Answers

find pixels of a line in picture

29 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
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.

Community Treasure Hunt

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

Start Hunting!