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