日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LinearPolar函数

發布時間:2025/4/16 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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
  • #include?<highgui.h>??
  • #include?<cv.h>??
  • ??
  • int?main(int?argc,?char**?argv)??
  • {??
  • ????IplImage*?src;??
  • ????double?M;??
  • ????if(?argc?==?3?&&?(?(?src?=?cvLoadImage(?argv[1],?1?)?)?!=?0?)?)??
  • ????{??
  • ????????M?=?atof(?argv[2]?);??
  • ????????IplImage*?dst?=?cvCreateImage(?cvGetSize(?src?),?8,?3?);??
  • ????????IplImage*?src2?=?cvCreateImage(?cvGetSize(?src?),?8,?3?);??
  • ????????cvLogPolar(?src,?dst,?cvPoint2D32f(?src?->?width?/?2,?src?->?height?/?2?),?M,?CV_INTER_LINEAR?+?CV_WARP_FILL_OUTLIERS?);??//把圖像映射到極指數空間??
  • ????????//CV_WARP_FILL_OUTLIERS?-填充輸出圖像所有像素,如果這些點有和外點對應的,則置零。??
  • ????????cvLogPolar(src,?src2,?cvPoint2D32f(?src?->?width?/?2,?src?->?height?/?2?),?M,?CV_INTER_LINEAR?+?CV_WARP_INVERSE_MAP?);??
  • ????????//CV_WARP_INVERSE_MAP?-?表示矩陣由輸出圖像到輸入圖像的逆變換,并且因此可以直接用于像素插值。否則,函數從map_matrix中尋找逆變換。??
  • ????????cvNamedWindow(?"log-polar",?1?);??
  • ????????cvShowImage(?"log-polar",?dst?);??
  • ????????cvNamedWindow(?"inverse?log-polar",?1?);??
  • ????????cvShowImage(?"inverse?log-polar",?src2?);??
  • ????????cvWaitKey();??
  • ????}??
  • ??
  • ????return?0;??
  • }??

  • /*result*/

    依舊水果圖

    log-polar:


    inverse log-polar:



    總結

    以上是生活随笔為你收集整理的LinearPolar函数的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。