How to know the real row and column indices of a pixel in the image

조회 수: 1 (최근 30일)
Salad Box
Salad Box 2019년 10월 23일
댓글: Salad Box 2019년 10월 23일
Hi,
I have an image. See below.
>> fn = 'Unknown.jpg';
>> RGB = imread(fn);
>> whos RGB
Name Size Bytes Class Attributes
RGB 235x214x3 150870 uint8
>> s = size(RGB);
>> RGB = reshape(RGB, s(1)*s(2),3);
>> whos RGB
Name Size Bytes Class Attributes
RGB 50290x3 150870 uint8
After 'reshape', now 'RGB' becomes 50290 by 3.
I wonder that given a row index such as 37987 in the current form of RGB, how to find the corresponding pixel in the image and eventually draw a circle around that pixel on the image.
The main thing is to find the correspoinding pixel in the image.
I tried. However, the pixel I found is outside that image and is white as [255 255 255] which doesn't seems right at all.

답변 (1개)

Walter Roberson
Walter Roberson 2019년 10월 23일
which_pixel = 37987;
[r, c] = ind2sub([s(1), s(2)], which_pixel);
And remember that row corresponds to Y and column corresponds to X.
  댓글 수: 1
Salad Box
Salad Box 2019년 10월 23일
Fabulous!!!!
It worked perfectly!!! You saved my day!!! Thanks a million!!!

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

카테고리

Help CenterFile Exchange에서 Images에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by