About generating the binary image from mathematical coordinates
显示 更早的评论
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.
回答(1 个)
Walter Roberson
2012-2-29
0 个投票
Use vectors of xp and yp, and use subsref() to do the assignment.
fix() or round() might be more efficient than int32()
类别
在 帮助中心 和 File Exchange 中查找有关 Images 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!