無(wú)所謂,誰(shuí)會(huì)愛(ài)上誰(shuí)。。。 無(wú)所謂,不能天天更。。。 只要是,不要一直斷。。。 -----------------------------------我是可愛(ài)的分割線 圖像平移的意思就是將圖像沿著x軸、y軸移動(dòng),我們可以進(jìn)行上、下、左、右等各個(gè)方向的移動(dòng)。 1、右移 如下圖,是lena美女圖像朝右移動(dòng)了50個(gè)像素。 代碼如下: import cv2 import numpy as np img = cv2.imread("E:/image/lena.jpg") cv2.imshow(“img”,img) w,h,m= img.shape dst = np.zeros((w,h,m), np.uint8) for i in range( w): for j in range( h - 50 ): dst[i, j + 50] = img[i, j] cv2.imshow('image', dst) cv2.waitKey(0) 往右移動(dòng)過(guò)后,會(huì)發(fā)現(xiàn)左邊全是黑色,原因是在創(chuàng)建數(shù)組時(shí),全初化為0,故全是黑色。如果想將其改為其他顏色也是可以的,如下圖所示,我將其賦了顏色為lena左上角第一個(gè)點(diǎn)的顏色。 代碼如下: import cv2 import numpy as np img = cv2.imread("E:/image/lena.jpg") w,h,m= img.shape dst = np.zeros((w,h,m), np.uint8) for i in range( w): for j in range( h - 50 ): dst[i, j + 50] = img[i, j] dst[:,0:50]=img[0][0] cv2.imshow('image', dst) cv2.waitKey(0) 2、左移 類(lèi)似右移,只要注意其行和列的變化就行。 其代碼如下: import cv2 import numpy as np img = cv2.imread("E:/image/lena.jpg") cv2.imshow('img', img) w,h,m= img.shape dst = np.zeros((w,h,m), np.uint8) for i in range(w): for j in range( h - 50 ): dst[i, j] = img[i, j+50] cv2.imshow('image', dst) cv2.waitKey(0) 移動(dòng)后的地方也是可以補(bǔ)顏色的,如下圖所示,我保留了它原來(lái)的顏色: 代碼如下: import cv2 import numpy as np img = cv2.imread("E:/image/lena.jpg") cv2.imshow('img', img) w,h,m= img.shape dst = np.zeros((w,h,m), np.uint8) for i in range(w): for j in range( h - 50 ): dst[i, j] = img[i, j+50] dst[:,h-50:h]=img[:,h-50:h] cv2.imshow('image', dst) cv2.waitKey(0) 3、其他方向的移動(dòng) 其他方向的移動(dòng)和上類(lèi)似,如往上移: 往下移: 同時(shí)移: 想怎么移就怎么移,想上什么色就上什么色: 其代碼如下: import cv2 import numpy as np img = cv2.imread("E:/image/lena.jpg") cv2.imshow('img', img) w,h,m= img.shape dst = np.zeros((w,h,m), np.uint8) for i in range(w-50): for j in range( h-60): dst[i+50, j+60] = img[i, j] dst[0:50,:]=img[0:50,:] dst[50:,0:60]=img[50:,0:60] cv2.imshow('image', dst) cv2.waitKey(0) |
|