圖像平移的基本概念
圖像平移指的是將圖像按水平方向或豎直方向上進行移動,其本質就是將圖像中的所有像素點都按照給定的平移量進行水平方向或豎直方向上的移動。
例如,我們將圖像在水平方向上平移w,在豎直方向上平移h,那么圖像中初始坐標為(x.y)的像素點在經過平移后對應的坐標就變成了(x+w,y+h)。
import numpy as np import cv2 img = cv2.imread("3.jpg") cv2.imshow("yuan", img) img_info=img.shape height=img_info[0] width=img_info[1] mat_translation=np.float32([[1,0,20],[0,1,50]]) #變換矩陣:設置平移變換所需的計算矩陣:2行3列 #[[1,0,20],[0,1,50]] 表示平移變換:其中20表示水平方向上的平移距離,50表示豎直方向上的平移距離。 dst=cv2.warpAffine(img,mat_translation,(width+20,height+50)) #變換函數 ''' 參數2 變換矩陣:是一個2行3列的矩陣,由這個矩陣決定是何種變換 參數3 變換后輸出圖像的大小:(width+20,height+50)-->寬和高(自己規定) 參數4 可選參數,用於設置插值方法的組合,默認為INTER_LINEAR使用線性插值算法,除了圖像縮放中用到的幾個插值算法外,仿射變換還可以選用 INTER_LANCZOS4(Lanczos插值算法)。 參數5 borderValue:可選參數,在邊界不變的情況下可以使用的值,主要用於設置邊界的填充值,默認為0 ''' cv2.imshow('dst',dst) cv2.waitKey(0)
效果圖