三个小伙跳的:在Matlab图像处理中极坐标与直角坐标矩阵的转换
来源:百度文库 编辑:中财网 时间:2024/04/30 08:03:46
在用Matlab做图像处理的时候,经常需要使用一些基于极坐标系的公式,比如用Zernike函数作图之类。于是需要把通过极坐标系公式计算出来的数值。按照直角坐标系的坐标放入到图像矩阵中去;或者反过来,计算图像矩阵中的每一个点,距离中心点的r和方位角,然后再带入目的公式,算出数值,放在该点。
直观的想法,是用两层for循环扫描每一个点,带入,计算,再赋值给矩阵。但是Matlab中的for循环速度慢已经众所周知,传说如果能用矩阵的运算替代for循环,则能够效率大增。不失一般性,就是要生成一个M*M的矩阵,原点在M/2, M/2,矩阵r(i,j)=i,j点到中心点的欧氏距离,矩阵angle(i,j)=角度
ny=repmat(1:M,M,1);
%生成一个数值从1到M的一维矩阵,然后扩展M列。这样ny中的每一个点,都是纵坐标的数值
nx=ny’;
% 转置一下,就是横坐标的值
xpos =(nx-1)-M/2;
ypos = (ny-1)-M/2;
% 平移一下,是否-1无所谓,一般都是一个很大的图像,中心点在哪里和奇偶性有关系。
[angle r]=cart2pol(xpos,ypos);
% 利用直角坐标系和极坐标系的互换函数,转换一下就可以了。返回angle矩阵,每个点数值都是幅角,返回的r矩阵,每个点数值都是模。
这样往Zernike函数里面就好带入了,不过记得angle和r都是矩阵了,所以乘法运算要用.代替,除法、乘方之前也要加点的。
还有,就是Matlab真要是反复计算大矩阵的乘方,也仍然很慢。比如高阶的Zernike函数,这种时候不妨事先把r矩阵各阶的乘方先算好,存下来,然后调用。免得在一个式子里重复计算。 转自:http://goldengrape.org/2009/04/matlab_cart2pol/
Matlab图像处理
Friedlander坐标与直角坐标的转换有谁知道啊?
高中极坐标.....
学过Matlab图像处理的请进!!!!!!!!!!!!
怎样将直角坐标化为球坐标
球面坐标如何转换成直角坐标
直角坐标方程 极坐标方程 的转换
在平面直角坐标中,圆O与两坐标轴分别叫与A.B.C.D四点,已知A(6.0) B(0.-3) C(-2.0),则D的坐标是?
在平面直角坐标中,圆O与两坐标轴分别叫与A.B.C.D四点,已知A(6.0) B(0.-3) C(-2.0),则D的坐标是?
autocad中的直角坐标、相对坐标、及极坐标怎样使用?
怎么通过MATLAB的图像处理求一个图像--(圆孔)的直径.帮帮忙!!!
跪求可用于MATLAB图像工具箱处理的CT图像(最好人脸)若干
请问各位大侠,如何用matlab找出图像上某一点的坐标? 有加分——-
MATLAB图像问题
图像二值化 matlab源程序
H264里所说宏块在图像中的坐标,是说宏块上哪个小块在图像中的坐标啊
什么是图像?模拟图像与数字图像有什么区别? 主要区别表现在哪些方面? 数字图像处理主要应用有哪些?
图像处理与图象处理?到底怎么分?
matlab利用双峰法对一幅灰度图像进行灰度分割处理
这是什么处理方法?(与图像处理有关)
如何在matlab中获得鼠标移动时的坐标信息?(不点击!!)
图像处理
图像处理
图像处理