how can i perform operations on the basis of image location?

1 view (last 30 days)
I have 2 vectors containing x and y location of a point of an image. My actual image size is 1024*1024 and i have extracted nearly 660 points. these points having x and y location of my image. how can i create a new image in which, value 0 occurs at extracted points and 1 at other locations.

Accepted Answer

Image Analyst
Image Analyst on 12 Jun 2014
outputImage = zeros(size(grayImage)); % Initialize image to 0.
for k = 1 : length(x);
outputImage(y(k), x(k)) = 1;
end
Use false instead of zeros if you want a binary (logical) image instead of a double.

More Answers (1)

imene mannou
imene mannou on 12 Jun 2014
Edited: Image Analyst on 12 Jun 2014
result=I;
result(:,:)=1;
for i=1:length(x)
result(x(i),y(i))=0;
end
  2 Comments
Image Analyst
Image Analyst on 12 Jun 2014
imene made a common mistake of thinking that array indices are (x,y). They are not, they are (y,x) because the first index is the row, which is the y value.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!