加载中…
个人资料
野狐
野狐
  • 博客等级:
  • 博客积分:0
  • 博客访问:2,619
  • 关注人气:11
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

OpenCV中的极坐标变换

(2015-09-07 10:42:55)
分类: OpenCV笔记
今天去面试,面试官问到一个极坐标变换的问题,我跟他讲opencv中集成这个函数,但我只是在看文档的时候偶然翻了翻,也没有具体的去看,回来就具体的看了下。发现opencv中确实已经集成了这个函数,那就是cvLinearPolar。(在网上看到的大部分blog中写的都是cvLogPolar这个函数,其实cvLogPolar这个函数是对数极坐标变换,在计算过程中对半径做了log变换,来模拟人眼看到中间分辨率高,边缘分辨率低的效果,而在机器视觉应用中,线性极坐标变换更为常用。我所使用的opencv2.4.8版本已经提供了cvLinearPolar这一函数,但在pdf的离线文档中确没有找个这个函数的说明,后在网上2.4.12的online说明文档中找到了这个函数的说明,只能说opencv的文档同步实在是有些不给力啊。)
函数原型如下(C接口,opencv没有对这个函数提供C++的接口):
void cvLinearPolar( const CvArr* srcarr, CvArr* dstarr, CvPoint2D32f center, double maxRadius, int flags )
srcarr:原图像
dstarr:目标图像
center:图像在直角坐标系中的圆心坐标
maxRadius:逆向变换中的最大变径
flags:一些标志,具体参考cvLinearPolar 2.4.12说明文档

测试效果图像如下,可以看出,变径对应极坐标图像宽,周长对应极坐标图像的高,圆心自图像的左侧。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有