好吧,这可能有点愚蠢,但我真的很难理解Matlab中的图像坐标。
所以,在一个数学方程中,f(x,y)f是图像函数,其中x和y是图像的坐标。例如,在matlab代码中,我们可以:
img = imread('autumn.tif');
img(1,4); %f(x,y)
其中,img(1,4)等效于函数f(x,y)。现在,在Matlab中,有一个选项可以使用cart2pol()函数将笛卡尔坐标(x,y)转换为极坐标(rho,theta)。
现在,这就是我不明白的地方。是否可以应用f(ρ,θ),这是极坐标,而不是Matlab中的笛卡尔坐标?
我试着做了这样的事情:
img(2.14,1.5)
但是我收到一条错误消息,说数组索引只支持整数或逻辑值。
有人能澄清一下我对这个的理解吗?因为我被要求应用f(rho,θ)而不是传统的f(x,y)。
Matlab中的图像基本上只是一个2D数组(如果您只考虑灰度图像)。因此,与所有其他数组一样,您也需要整数索引来访问图像的像素。
% i,j integers, not doubles, floates, etc.
pixel = img(i,j);
因此,您最后一个问题中的极坐标(θ, rho
)不能用于访问图像数组。这也是错误消息的确切原因。至少您需要舍入它们或找到其他方法将它们用作索引(例如,将它们转换回笛卡尔坐标。最好是,由于矩阵索引)
关于你的应用:据我所知,这些极坐标被用作泽尼克多项式的参数。那么你为什么要用它们来访问图像呢?
我在将图像转换为极坐标时遇到问题。在Photoshop中很容易:)所以这对我来说是一个新领域。 我有以下图片: 结果应该是这样的: 我在这里看了一下,了解了一些基本知识,但仍然对圆的平方有点困惑: 我几乎不知道如何重新绘制图像。还有一个警告:由于管理限制,我想避免使用像Numpy这样的外部库。
编辑:我决定把这个问题分成两部分,因为它实际上是两个问题:1。如何在MATLAB中绘制极曲面图(本问题)和2。如何将拟合极坐标数据点放入粗略(非极坐标)矩阵 我有一个包含某些灰色值(介于0和1之间的值)的矩阵。这些点存储在一个矩形矩阵中,但实际上数据点是通过旋转探测器获得的。这意味着我实际上有极坐标(我知道起始矩阵中每个像素的极坐标)。 我想制作一个数据点的极线图。我有下面的例子。 因为MATLA
我正在尝试将极坐标的图像转换为笛卡尔坐标。 将图像转换为极坐标的示例显式执行-想要一个光滑的矩阵方法 我原以为使用上述方法是小菜一碟,但事实并非如此!!如果有人发现我的代码有错误,请告诉我! 我发现非常奇怪的是,当我改变phi时,它会做出根本性的改变,而不是以我期望的方式! 干杯
我知道这个问题已经被回答了很多次,但是我不知道我做的是好是坏。 我得到了一个带有缺陷位置和图像ID的文件。图像大小为96*96。起源是(48,48) 由此计算R和T 然后,我为每个图像创建大小为96×96的空矩阵,对于图像1(例如),我在每个坐标(R,T)处赋值0 当我绘制矩阵时,我的结果很奇怪。。我错过了什么重要的事情吗?
我想知道是否有人帮助我理解如何将顶部图像转换为底部图像。以下链接中提供了这些图像。顶部图像采用笛卡尔坐标。底部图像是极坐标中的转换图像
问题内容: 我有一组png图像,我想用Python和 相关工具。每个图像表示一个具有已知属性的物理对象 尺寸。 在每幅图像中,在某一特定位置都有一个特定的物体特征 像素/物理位置。每个图像的位置都不同。 我想在给定的图像上加一个极坐标系 此要素所在位置的原点。 然后我希望能够得到以下信息:-图像 强度作为给定极角径向位置的函数 图像强度作为径向位置的函数,当值在 所有极角。 我对Python编程和