基于OpenCV的仿射變換實現(xiàn)方法
基本概念
仿射變換是在二維平面對圖像進行線性坐標變換的方法,即對圖像進行線性變換和平移,包括了圖像平移、縮放、旋轉、鏡像等。仿射變換保留了圖像中的 “平行性”和“平直性”,即仿射變換后直線和平行線仍然保持是直線和平行線。
平直性:變換后直線還是直線,圓弧還是圓弧
平行性:保持二維圖形間的相對位置關系不變,平行線還是平行線,而直線上的點位置順序不變
仿射變換可以通過一系列的原子變換的復合來實現(xiàn)包括:平移(Translation)、縮放(Scale)、翻轉(Flip)、旋轉(Rotation)和錯切(Shear)
二維碼糾正案例
OpenCV中實現(xiàn)圖像仿射變換的方法
函數(shù):cv2.warpAffine()
格式:dst=cv2.warpAffine(src,M,dsize[,dst[,flags[,borderMode[,borderValue]]]])
參數(shù)說明:
- src:輸入圖像
- dst:輸出圖像,其大小為dsize
- M:一個大小為2×3的轉換矩陣,使用不同的轉換矩陣可實現(xiàn)平移、旋轉等多種操作。
- dsize:輸出圖像的大小。
- borderMode:邊界像素模式(int 類型)
- borderValue:邊界填充值; 默認情況下,它為0
- flages:表示插值方式,默認為 flags=cv2.INTER_LINEAR,表示線性插值,cv2.INTER_NEAREST為最近鄰插值,cv2.INTER_AREA為區(qū)域插值,cv2.INTER_CUBIC為三次樣條插值,cv2.INTER_LANCAOS4為Lanczos插值
代碼示例
總結
到此這篇關于基于OpenCV的仿射變換實現(xiàn)的文章就介紹到這了,更多相關OpenCV仿射變換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解pandas使用drop_duplicates去除DataFrame重復項參數(shù)
這篇文章主要介紹了詳解pandas使用drop_duplicates去除DataFrame重復項參數(shù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08Python網(wǎng)頁解析利器BeautifulSoup安裝使用介紹
這篇文章主要介紹了Python網(wǎng)頁解析利器BeautifulSoup安裝使用介紹,本文用一個完整示例一步一步安裝了BeautifulSoup的安裝和使用過程,需要的朋友可以參考下2015-03-03解決Pyinstaller打包為可執(zhí)行文件編碼錯誤的問題
這篇文章主要介紹了解決Pyinstaller打包為可執(zhí)行文件編碼錯誤的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03Python迭代器iterator生成器generator使用解析
這篇文章主要介紹了Python迭代器iterator生成器generator使用解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-10-10