opencv筆記(2):圖像剪切和圖像移位

生活就像大海,我就像一條鹹魚,在浩瀚的海洋中邊浪邊學,這是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

浪學

今天的筆記就記錄這麼多了,阿浪已經泡好了咖啡,換個姿式,繼續曬太陽。。。

相關文章
相關標籤/搜索