您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關cv2.warpAffine參數是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
warpAffine :意思是仿射變化。官方給出的參數為:
cv2.warpAffine(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]]) → dst
其中:
src – 輸入圖像。
M – 變換矩陣。
dsize – 輸出圖像的大小。
flags – 插值方法的組合(int 類型!)
borderMode – 邊界像素模式(int 類型!)
borderValue – (重點!)邊界填充值; 默認情況下,它為0。
上述參數中:
M作為仿射變換矩陣,一般反映平移或旋轉的關系,為InputArray類型的2×3的變換矩陣。
flages表示插值方式,默認為 flags=cv2.INTER_LINEAR,表示線性插值,
此外還有:cv2.INTER_NEAREST(最近鄰插值)
cv2.INTER_AREA (區域插值)
cv2.INTER_CUBIC(三次樣條插值)
cv2.INTER_LANCZOS4(Lanczos插值)
日常進行仿射變換時,在只設置前三個參數的情況下,如 cv2.warpAffine(img,M,(rows,cols))可以實現基本的仿射變換效果,但可以出現“黑邊”現象,如圖:
這對后續的處理往往造成很大的困擾,第六個參數可以選擇填充的顏色,默認為黑色。在python中設置warpAffine的參數與c++中有所不同,必須指明參數的名稱,具體如下:
c++中:
warpAffine(src,img,M,Size(a,b),1,0,Scalar(255,255,255));
python中:
cv2.warpAffine(img,M,(rows,cols),flags=cv2.INTER_,borderMode=cv2.BORDER_REFLECT,borderValue=(255,255,255))
在python 中有一個好處是不必按順序設置,直接指明所設置的參數即可,如將上述圖片邊界區域填充為白色:
cv2.warpAffine(img,M,(lengh,lengh),borderValue=(255,255,255))
效果圖:
關于“cv2.warpAffine參數是什么”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。