OpenCV编程->LPT变换

最近在看一本科普性质的书《视觉仿生学原理与应用》

里面讲叙了8种生物的眼睛原理与仿生应用。

关于人眼涉及到了图像对数极坐标变换技术,表达了一种图像描述的变换,以笛卡尔坐标表示视网膜坐标位置,对数极坐标对应视皮层坐标位置。



下面开始介绍OpenCV的相关函数:

以下转自:http://blog.csdn.net/songzitea/article/details/16369165

在opencv中,函数cvLogPolar功能是将图像映射到极坐标

格式

  1. /* Performs forward or inverse log-polar image transform */  
  2. CVAPI(void)  cvLogPolar( const CvArr* src, CvArr* dst,  
  3.                          CvPoint2D32f center, double M,  
  4.                          int flags CV_DEFAULT(CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS));  
参数

  • src 源图像
  • dst 目标图像
  • center 变换中心,此处输出精度最高。
  • M 幅度尺度参数
  • flags:为插值方法标示与下面选项的组合:
    • CV_WARP_FILL_OUTLIERS 填充目标图像中的所有像素,如果某些像素对应于源图像之我的位置,则用0填充.
    • CV_WARP_INVERSE_MAP  表示矩阵是从目标图像到源图像的反变换,因此,可以直接用于像素插值;否则,函数从map_matrix寻找变换。

说明

函数cvLogPolar使用如下变换公式对源图像进行变换。

  • 正变换(未设置CV_WARP_INVERSE_MAP时): dst(phi,rho) ← src(x,y)
  • 反变换(设置CV_WARP_INVERSE_MAP): dst(x,y) ← src(phi,rho)

其中, rho =M*log[sqrt(x2+y2)],  phi = atan(y/x).

此函数可以用来模拟人类的中央视觉(foveal vision),并可以用于物体跟踪方面的尺度及旋转不变模板的快速匹配。


以上转自:http://blog.csdn.net/songzitea/article/details/16369165


实现效果如下 :


上图效果工程源码链接:

http://download.csdn.net/detail/sunboyiris/7478793



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值