这不是很清楚你正在尝试做的,这就是为什么我在做......
所以给出的图像我自己的例子,我使用CART2POL将像素x/y坐标从笛卡尔坐标转换为极坐标。
在第一个图中,我显示了点的位置,第二个图中我绘制了原始图像和极坐标图。
请注意,我正在使用图像处理工具箱中的WARP函数。在引擎盖下,它使用SURF/SURFACE函数来显示纹理映射的图像。
% load image
load clown;
img = ind2rgb(X,map);
%img = imread(...); % or use any other image
% convert pixel coordinates from cartesian to polar
[h,w,~] = size(img);
[X,Y] = meshgrid(1:w,1:h);
[theta,rho] = cart2pol(X, Y);
Z = zeros(size(theta));
% show pixel locations (subsample to get less dense points)
XX = X(1:8:end,1:4:end);
YY = Y(1:8:end,1:4:end);
tt = theta(1:8:end,1:4:end);
rr = rho(1:8:end,1:4:end);
subplot(121), scatter(XX(:),YY(:),3,'filled'), axis ij image
subplot(122), scatter(tt(:),rr(:),3,'filled'), axi