我正在尝试转换具有相同中心的多个圆圈的图像,从笛卡儿到极地(这样新图像将是圆形而不是圆形,请参见下图),这样就可以了以下代码:
[r, c] = size(img); r=floor(r/2); c=floor(c/2); [X, Y] = meshgrid(-c:c-1,-r:r-1); [theta, rho] = cart2pol(X, Y); subplot(221), imshow(img), axis on; hold on; subplot(221), plot(xCenter,yCenter, 'r+'); subplot(222), warp(theta, rho, zeros(size(theta)), img); view(2), axis square;
问题是,我不明白它为什么会起作用?(显然这不是我的代码),我的意思是,当我使用函数cart2pol时,我甚至不使用图像,它只是从meshgrid函数生成的一些向量x和y ..另一个问题是,我想要某种方式有一个新的图像(不仅仅是能够用环绕功能绘制它),这是原始图像,但是通过theta和rho坐标(意思是相同的像素,但重新排列)...我甚至不确定如何问这个,最后我想要一个矩阵的图像,以便我可以对每一行求和并将矩阵转换为列向量...