find pixels of a line in picture

조회 수: 10(최근 30일)
lena kappa
lena kappa 2021년 3월 24일
댓글: lena kappa 2021년 3월 24일
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.

답변(1개)

KALYAN ACHARJYA
KALYAN ACHARJYA 2021년 3월 24일
편집: KALYAN ACHARJYA 2021년 3월 24일
% 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
lena kappa
lena kappa 2021년 3월 24일
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.

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by