About generating the binary image from mathematical coordinates
Ältere Kommentare anzeigen
Hi there,
I get a set of points in two dimensional Cartesian system, that is (x, y). My purpose is to generate a two-dimensional binary image with that coordinates. But the range for y and x are different and the step is not fixed. Actually, the pair of values are generated by random number in [0, 1] and mapping to a range with some formula
y: [-2pi, 2pi]
x: [0, 4pi]
if I plot each "point" on the figure it will show some shape actually. But my problem I don't want to plot it to a figure and then save it as image. So is that any way to convert that directly to a binary image of size N x N?
Actually, I try something like this
img = zeros(N, N);
xp = int32(x*N/(4*pi));
yp = int32((y+2*pi)*N/(4*pi));
img(xp, yp) = 1;
but it takes forever to run the program.
any better way to do that? Thanks.
Antworten (1)
Walter Roberson
am 29 Feb. 2012
0 Stimmen
Use vectors of xp and yp, and use subsref() to do the assignment.
fix() or round() might be more efficient than int32()
1 Kommentar
Ki
am 29 Feb. 2012
Kategorien
Mehr zu Images finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!