当前位置: 首页 > 知识库问答 >
问题:

转换图像在极坐标笛卡尔坐标

乜昆
2023-03-14

我正在尝试将极坐标的图像转换为笛卡尔坐标。

将图像转换为极坐标的示例显式执行-想要一个光滑的矩阵方法

我原以为使用上述方法是小菜一碟,但事实并非如此!!如果有人发现我的代码有错误,请告诉我!

phi=(0:.01:1)*2*pi;
r=0:.01:2;

psi=r<0.5;



psi_c=cos(phi).'*psi;

[P R z]=find(psi_c);
L=500;

X=R.*cos(P);
Y=R.*sin(P);

Xmin=min(X);Xmax=max(X);
Ymin=min(Y);Ymax=max(Y);


F=TriScatteredInterp(X,Y,z);


[Xi,Yi]=meshgrid(linspace(-Xmax,Xmax,L),linspace(-Ymax,Ymax,L));
Zi=F(Xi,Yi);

我发现非常奇怪的是,当我改变phi时,它会做出根本性的改变,而不是以我期望的方式!

干杯

共有1个答案

仉昱
2023-03-14
[X,Y] = pol2cart(THETA,RHO)

在从极网格到笛卡尔转换的情况下。

同样地,

[X,Y] = pol2cart(THETA,RHO,Z)

将柱面栅格转换为相应的笛卡尔坐标。

但我不确定这些功能是否是您所需要的。

 类似资料:
  • 我想知道是否有人帮助我理解如何将顶部图像转换为底部图像。以下链接中提供了这些图像。顶部图像采用笛卡尔坐标。底部图像是极坐标中的转换图像

  • 我试图将图像从极坐标转换为笛卡尔坐标,但在应用公式后,我得到了浮点坐标(r和teta),我不知道如何使用x和y的浮点来表示空间中的点。可能有一种方法可以将它们转换为整数,并仍然保留分布,但我不知道如何。我知道OpenCV中有像warpPolar这样的函数,但我想自己实现它。任何想法都会有帮助:) 这是我的代码:

  • 我知道这个问题已经被回答了很多次,但是我不知道我做的是好是坏。 我得到了一个带有缺陷位置和图像ID的文件。图像大小为96*96。起源是(48,48) 由此计算R和T 然后,我为每个图像创建大小为96×96的空矩阵,对于图像1(例如),我在每个坐标(R,T)处赋值0 当我绘制矩阵时,我的结果很奇怪。。我错过了什么重要的事情吗?

  • 我无法将[R,theta]格式的图像转换为[x,y] 我正在尝试使用interp2。 然后我会: 最后: 但图像不正确! 以下是输入图像(图1)(带R,θ几何): 我想在笛卡尔网格上重建它(使用interp2),所以它看起来像这样(图2): 极坐标图像(图1)中的所有数据应映射到笛卡尔图像的红色部分(图2)。

  • 我试图对下面的第一幅图像进行极坐标变换,最后得到第二幅。然而,我的结果是第三张图片。我有一种感觉,这与我选择的“原产地”有关,但我不确定。

  • 我正在尝试将球坐标转换为笛卡尔坐标,以绘制一个简单的三维金字塔。 下面是获取金字塔四个主要角的代码,具体取决于极角yrad和方位角xrad以及顶点坐标x和y: 方位角轴似乎工作正常,但问题是,在操纵极轴角时,当它们越过天顶或底部时,左右会互换,如图所示(选择顶部的mp4以更平滑地播放):http://gyazo.com/4a245713c232893960863cf4ea4186f6 怎么了?