LinearPolar函数
Log-polar轉換表示從笛卡爾坐標到極坐標的變化,廣泛應用在計算機視覺中。
此函數模仿人類視網膜中央凹視力,并且對于目標跟蹤等可用于快速尺度和旋轉變換不變模板匹配。
本例程實現極坐標變化,并反轉。
----------------------------------------------------------------------------------------------
LogPolar
把圖像映射到極指數空間
void cvLogPolar( const CvArr* src, CvArr* dst,
????????????????CvPoint2D32f center, double M,
????????????????int flags=CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS );
src
輸入圖像。
dst
輸出圖像。
center
變換的中心,輸出圖像在這里最精確。
M
幅度的尺度參數,見下面公式。
flags
插值方法和以下選擇標志的結合
·???????CV_WARP_FILL_OUTLIERS-填充輸出圖像所有像素,如果這些點有和外點對應的,則置零。
·???????CV_WARP_INVERSE_MAP- 表示矩陣由輸出圖像到輸入圖像的逆變換,并且因此可以直接用于像素插值。否則,函數從map_matrix中尋找逆變換。
fillval
用于填充外點的值。
函數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)
?----------------------------------------------------------------------------------------------
/*code*/
[cpp]?view plaincopy
/*result*/
依舊水果圖
log-polar:
總結
以上是生活随笔為你收集整理的LinearPolar函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: resize函数
- 下一篇: getRotationMatrix2D函