生活就像大海,我就像一條鹹魚,在浩瀚的海洋中邊浪邊學,這是opencv筆記系列中的「圖像剪切」和「圖像移位」。更多可關注「浪學」公衆 ~bash
世間萬圖,皆可剪切和移位。這一篇以很鹹魚的方式把它們記錄下來。ui
首先載入圖像spa
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)
複製代碼
原圖以下:3d
圖像剪切:圖像剪切的操做比較簡單, 只須要對圖片的像素矩陣進行切片操做就好了。code
dst = img[100:200, 100:300]
imshow(dst)
複製代碼
獲得剪切後的圖像顯示以下cdn
圖像移位:blog
1)第一種方法,創建偏移矩陣, 而後用矩陣映射圖片
# 方法1
matShift = np.float32([[1,0,100],[0,1,200]]) # 偏移矩陣
dst = cv2.warpAffine(img, matShift, (height, width)) # 映射
複製代碼
2)第二種方法,直接像素操做string
# 方法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]
複製代碼
兩種結果的輸出以下it
今天的筆記就記錄這麼多了,阿浪已經泡好了咖啡,換個姿式,繼續曬太陽。。。