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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【OpenCV】透视变换 仿射变换

發布時間:2024/1/1 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【OpenCV】透视变换 仿射变换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

一:透視變換基本概念

二:透視變換工作原理

三:findHomography函數

四:warpPerspective函數

五:getPerspectiveTransform函數


一:透視變換基本概念

仿射變換(affine transform)與透視變換(perspective transform)在圖像還原、圖像局部變化處理方面有重要意義

通常,在2D平面中,仿射變換的應用較多,而在3D平面中,透視變換又有了自己的一席之地兩種變換原理相似,結果也類似,可針對不同的場合使用適當的變換

仿射變換和透視變換的數學原理不需深究,在應用層面,仿射變換是圖像基于3個固定頂點的變換,如下圖所示:

仿射變換是圖像基于3個固定頂點的變換

接下來學習的透視變換4個固定頂點的變換???????

二:透視變換工作原理

透視變換(Perspective Transformation)的本質是

將圖像投影到一個新的視平面,其通用變換公式為:

(u,v)為原始圖像像素坐標,(x=x’/w’,y=y’/w’)為變換之后的圖像像素坐標

透視變換矩陣圖解如下:?

仿射變換(Affine Transformation)可以理解為透視變換的特殊形式

透視變換的數學表達式為:

所以,給定透視變換對應的四對像素點坐標,即可求得透視變換矩陣;

反之,給定透視變換矩陣,即可對圖像或像素點坐標完成透視變換,

如下圖所示:

三:findHomography函數

findHomography

計算多個二維點對之間的最優單映射變換矩陣 H(3行x3列) ,使用最小均方誤差或者RANSAC方法

函數功能:找到兩個平面之間的變換矩陣

函數參數

Mat cv::findHomography? (? InputArray ? srcPoints,

??????????????????????????????? InputArray ? dstPoints,

??????????????????????????????? int ? method = 0,

??????????????????????????????? double ? ransacReprojThreshold = 3,

??????????????????????????????? OutputArray ? mask = noArray(),

??????????????????????????????? const int ? maxIters = 2000,

??????????????????????????????? const double ? confidence = 0.995

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? )

四:warpPerspective函數

函數原型

void warpPerspective(InputArray src, OutputArray dst, InputArray M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, const Scalar& borderValue=Scalar())

函數參數說明

src – 輸入圖像 dst – 大小為dsize且類型與src相同的輸出圖像 M – 3×3變換矩陣 dsize – 輸出圖像的大小

圖中紅點即為固定頂點,在變換先后固定頂點的像素值不變,圖像整體則根據變換規則進行變換

同理,透視變換是圖像基于4個固定頂點的變換,如圖所示:

五:getPerspectiveTransform函數

函數原型

C++方式一:Mat getPerspectiveTransform(InputArray src, InputArray dst)

C++方式二:Mat getPerspectiveTransform(const Point2f src[], const Point2f dst[])

函數參數說明

??? src – 源圖像中四邊形頂點的坐標

??? dst – 目標圖像中相應四邊形頂點的坐標。

該函數計算透視變換的3乘3矩陣,以便實現以下計算:

總結

以上是生活随笔為你收集整理的【OpenCV】透视变换 仿射变换的全部內容,希望文章能夠幫你解決所遇到的問題。

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