Given x and y coordinates of any point in an image, how to know if it is black or white

1 回表示 (過去 30 日間)
Hasan
Hasan 2014 年 3 月 20 日
編集済み: Nitin 2014 年 3 月 21 日
Given x and y coordinates of any point in an image, how to know if it is black or white?

回答 (2 件)

Nitin
Nitin 2014 年 3 月 21 日
編集済み: Nitin 2014 年 3 月 21 日
By the intensity value you get at that point.
For example, if your image is double:
I = im2double(imread('img.bmp'));
% Edited the mistake as suggested by ImageAnalyst
val = I(y,x);
if val is zero, then it is black.
if val is one, then it is white.
Have a look at a binary image and it will make sense.
I= imread('img.bmp');
bin_img=im2bw(I);
imshow(bin_img),colorbar

Image Analyst
Image Analyst 2014 年 3 月 21 日
If it's logical or single or double,
if theImage(y, x) == 0
% It's black.
else
% It's white.
end
Or, it if's uint8 instead of logical or double or single, if it's 0 it's black, if it's 255 it's white, and if it's in between it's a shade of gray.
Be careful of the common mistake Nitin made where he said I(x, y). The row (y) is the first index and the column (x) is the second coordinate, so if you want the value at some x,y coordinate, it would be I(y, x).

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by