george 发表于 2010-3-5 16:33

Imrotate求助

我想用imrotate生成一个权重矩阵。首先令其中一列(光束)的元素均为1,其他列为零,然后用imrotate旋转图像一定的角度,生成一个新的矩阵,那么这个新矩阵就是该光束在该角度下的权重。 现在问题是,在有些角度,旋转后的光束只覆盖了其路径的中间部分,而两端没有赋值(就是还是0),请问该如何才能让这些地方也产生数值呢?

N=128;
theta=1:10:141;
w = sparse(N*length(theta),N*N);
I = 1;

for i=1:length(theta);
    for p=1:N;
      ray = zeros(N,N);
      ray(p,:) = 1;
      rotray = sparse(imrotate(ray,theta(i),'bilinear','crop'));
      imagesc(rotray), colormap(gray), drawnow
      w(I,:) = rotray(:);
      I = I+1;
    end
    disp(['Calculating weight matrix: ' num2str(100*theta(i)/max(theta)) '%']);
end
w = sparse(w);

谢谢

[ 本帖最后由 george 于 2010-3-5 16:40 编辑 ]
页: [1]
查看完整版本: Imrotate求助