Borrar filtros
Borrar filtros

Assigning values ta set of points in 2d image

9 visualizaciones (últimos 30 días)
Suhas Deshpande
Suhas Deshpande el 16 de Jul. de 2011
After performing an operation on an image I get a set of points, the Cartesian coordinates are stored in a variable 'xy' of dimension n by 2. So xy(:,1) is x coordinate of each point and xy(:,2)is the y coordinate.
I want to create a new image of the same dimensions as the original image with these set of points being 1 and other points 0.
Let me create a problem to explain it further.
A = magic(10);
[x,y] = find(A<=20);
xy = [x,y];
B = zeros(size(A));
% now assign B as 1 for all points A<=20
Please help with the assignment command.
B(x,y) doesn't work i would like to know why ?

Respuesta aceptada

Image Analyst
Image Analyst el 17 de Jul. de 2011
Then just do it this way:
A = magic(10)
[y,x] = find(A<=20);
% Note: y = rows, x = cols
B = zeros(size(A));
linearInd = sub2ind(size(A), y, x)
B(linearInd) = 1

Más respuestas (2)

Image Analyst
Image Analyst el 17 de Jul. de 2011
Why not just simply say
B = A<=20;
You can cast B from logical to another data type after that if you want.
  1 comentario
Suhas Deshpande
Suhas Deshpande el 17 de Jul. de 2011
No Because in the real problem it is not as easy as that. The problem i have put forward here is just a random one which will help you guys answer my question better. I have got coordinates using an algorithm i cannot discuss here. And i have to use the 'm by 2 matrix' to assign the new variable.

Iniciar sesión para comentar.


Vishwajith Upendra
Vishwajith Upendra el 17 de Jul. de 2011
for i=1:1:numel(x)
B(x(i),y(i))=1
end
This should do it. Number of elements in x and y are gonna be the same. So, took one of them.
Hope, that helped.
  1 comentario
Suhas Deshpande
Suhas Deshpande el 17 de Jul. de 2011
I am trying to avoid any loops to improve the code performance, but this works. But I think it should be possible without a loop.
Thanks anyways

Iniciar sesión para comentar.

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by