Жизнь подобна океану, я подобен соленой рыбе, учусь по волнам в огромном океане, это «разрезание изображения» и «сдвиг изображения» в серии заметок opencv. Больше можно обратить внимание на общественность "Langxue" ~
Все картинки в мире можно разрезать и сдвигать. В этой статье они записаны очень соленым способом.
Сначала загрузите изображение
import cv2
import numpy as np
from matplotlib.pyplot import imshow
%matplotlib inline
img = cv2.imread('image.jpg',1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
# 显示原图
imshow(img)
Исходное изображение выглядит следующим образом:
Обрезка изображения: операция обрезания изображения относительно проста, просто нужно разрезать пиксельную матрицу изображения.
dst = img[100:200, 100:300]
imshow(dst)
Обрезанное изображение показано ниже
Сдвиг изображения:
1) Первый метод, построить матрицу смещения, а затем использовать матрицу для отображения
# 方法1
matShift = np.float32([[1,0,100],[0,1,200]]) # 偏移矩阵
dst = cv2.warpAffine(img, matShift, (height, width)) # 映射
2) Второй способ, прямое манипулирование пикселями
# 方法2
dst = np.zeros(img.shape, np.uint8)
# 像素操作
for i in range(height):
for j in range(width-100):
dst[i, j+100] = img[i,j]
Вывод двух результатов выглядит следующим образом
Это все, что я зафиксировал в сегодняшних заметках: А Ланг заварил кофе, сменил позу и продолжил греться на солнышке. . .