無所謂,誰會愛上誰。。。
無所謂,不能天天更。。。
只要是,不要一直斷。。。
-----------------------------------我是可愛的分割線
圖像平移的意思就是將圖像沿著x軸、y軸移動,我們可以進行上、下、左、右等各個方向的移動。
1、右移
如下圖,是lena美女圖像朝右移動了50個像素。
代碼如下:
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)
往右移動過后,會發(fā)現左邊全是黑色,原因是在創(chuàng)建數組時,全初化為0,故全是黑色。如果想將其改為其他顏色也是可以的,如下圖所示,我將其賦了顏色為lena左上角第一個點的顏色。
代碼如下:
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、左移
類似右移,只要注意其行和列的變化就行。
其代碼如下:
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)
移動后的地方也是可以補顏色的,如下圖所示,我保留了它原來的顏色:
代碼如下:
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、其他方向的移動
其他方向的移動和上類似,如往上移:
往下移:
同時移:
想怎么移就怎么移,想上什么色就上什么色:
其代碼如下:
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)
聯(lián)系客服