Finding pixel coordinates from pixel value

1 view (last 30 days)
I am using the code as shown below to accquire the pixel coodinates of an image whose pixel value is below 80.
clc
clear all
close all
X=imread('cameraman.tif');
Y=rgb2gray(X);
for i=1:3
for j=1:3
if Y(i,j) < 80
[y z]=find(Y(i,j));
end
disp([y z]);
end
end
But my code is not working, it is showing the result as
1 1
1 1
1 1
Please help me in fixing this

Accepted Answer

Askat Kuzdeuov
Askat Kuzdeuov on 25 May 2019
% there might some elegant solutions but as for now try to use this one
% prepare the desktop
close all; clc; clear;
% read the image
img = imread('cameraman.tif');
% obtain the size of the image
[row, col] = size(img);
ind = 0;
for ind1 = 1:row
for ind2 = 1:col
if img(ind1,ind2)<80
ind = ind + 1;
pix_cor(ind,1) = ind1;
pix_cor(ind,2) = ind2;
end
end
end

More Answers (0)

Community Treasure Hunt

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

Start Hunting!