透視變換原理
透視變換是將圖像從一個視平面投影到另外一個視平面的過程,所以透視變換也被稱為投影映射(Projection Mapping)。
我們知道在圖像的仿射變換中需要變換矩陣是一個2x3的兩維平面變換矩陣,而透視變換本質上空間立體三維變換,根據其次坐標方差,要把三維坐標投影到另外一個視平面,就需要一個完全不同的變換矩陣M,所以這個是透視變換跟OpenCV中幾何仿射變換最大的不同。
OpenCV中透視變換的又分為兩種:
- 密集透視變換
- 稀疏透視變換
我們經常提到的對圖像的透視變換都是指密集透視變換,而稀疏透視變換在OpenCV的特征點匹配之后的特征對象區域標識中經常用到。一般情況下密集透視變換warpPerspective函數常與函數getPerspectiveTransform一起使用實現對圖像的透視校正。而稀疏透視變換perspectiveTransform經常與findhomography一起使用。
API介紹
warpPerspective-實現圖像透視變換
-src
參數表示輸入圖像
-dst
參數表示輸出圖像
-M
參數表示透視變換矩陣(3x3)
-dsize
參數表示輸出圖像大小
-flags
參數表示插值方法,一般為線性或者最近鄰插值
-borderMode
參數表示對邊緣的處理方法,有默認值
一般不用設。
-borderValue
參數表示邊緣的填充演示,默認是黑色
getPerspectiveTransform - 獲取透視變換矩陣
-src
參數表示輸入透視變換前圖像四點坐標
-dst
參數表示輸入透視變換后圖像四點坐標
返回值類型Mat
該函數返回透視變換矩陣M大小為3x3
API調用代碼演示
相關代碼如下:
主要根據輸入的坐標點獲取透視變換矩陣,然后利用透視變換矩陣實現圖像透視校正,這個在實際工作中非常有用!
審核編輯:劉清
-
OpenCV
+關注
關注
31文章
642瀏覽量
42273 -
API接口
+關注
關注
1文章
85瀏覽量
10740
原文標題:OpenCV中的透視變換介紹
文章出處:【微信號:機器視覺沙龍,微信公眾號:機器視覺沙龍】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄

OpenCV中的BGR格式,在libyuv中對應的那個格式?OpenCV中的RGB格式呢?
基于透視變換的車輛位置和方向提取方法

opencv透視變換原理及實例

實現openCV傅里葉變換及逆變換的代碼程序免費下載

OpenCV的小波變換函數代碼免費下載

評論