极坐标到直角坐标转换 matlab 2C

图片说明
图片说明
这是两幅心血管的超声图像,第一幅是我以下面一幅图像的图心做的极坐标变换,现在的问题是如何从极坐标图像编程还原回第二幅图呢,第一幅图大小192*360,第二幅384*384,小弟做毕设,求助各位大神
下面是我极坐标变换的程序
function pim = polartrans1(im, nrad, ntheta, cx, cy, linlog, shape)
[rows, cols] = size(im);
if strcmp(shape,'valid') % Find minimum radius value
rmax = min([cx-1, cols-cx, cy-1, rows-cy]);
end
deltatheta = 2*pi/ntheta;

if strcmp(linlog,'linear')
deltarad = rmax/(nrad-1);
[theta, radius] = meshgrid([0:ntheta-1]*deltatheta, [0:nrad-1]*deltarad); %半径是按0开始的
end
xi = radius.*cos(theta) + (rows+1)/2; % Locations in image to interpolate data
yi = -radius.*sin(theta) + (cols+1)/2; % y轴方向与矩阵方向相反

[x,y] = meshgrid([1:cols],[1:rows]);
pim = interp2(x, y, double(im), xi, yi,'linear',0);

3个回答

您好,请问一下您如何把直坐标变换成极坐标的呢

huntermjy123
huntermjy123 我也找过这个代码,不过还是拿不到想要的图像,可以使用自带的函数pol2cart来做吗
5 年多之前 回复

https://www.cnblogs.com/tiandsp/archive/2013/06/09/3129198.html
一楼的链接实际是笛卡尔坐标系到极坐标系,帖子名称有点问题。
上面的链接确实是极坐标到笛卡尔系的。同做血管图像的毕设~

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐