生活就像大海,我就像一條鹹魚,在浩瀚的海洋中邊浪邊學,這是opencv筆記系列中的「圖像仿射」。更多可關注「浪學」公衆 ~bash
世間萬圖,皆可仿射。這一篇文章以很鹹魚的方式把它們記錄下來。函數
首先呢,是導入相關的庫,再讀取和顯示原圖像:spa
import numpy as np
import cv2
from matplotlib.pyplot import imshow
%matplotlib inline
img = cv2.imread('image.jpg',1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
imshow(img)
複製代碼
原圖像仍是一樣的那張圖,你仍是那一個你,顯示以下code
接下來創建一個變換原矩陣和目標矩陣,使用cv2中的cv2.getAffineTransform()這個函數來獲取上述兩個矩陣之間變換的過程,最後用cv2.warpAffine()把上述的過程映射到原始輸入的圖片中,而獲得想要的圖片仿射。orm
matSrc = np.float32([[0,0],[0,height-1],[width-1,0]])
matDst = np.float32([[50,50],[300, height-200],[width-300,100]])
matAffine = cv2.getAffineTransform(matSrc, matDst)
dst = cv2.warpAffine(img, matAffine,(width, height))
imshow(dst)
複製代碼
仿射後的圖片顯示以下cdn
嗯。。仿射的不是很好看,無論了。blog
今天的筆記就記錄這麼多了,其它的記錄在下一篇筆記中。阿浪已經泡好了加濃咖啡(不是星巴克,改天買星巴克),換個懶散舒服的姿式,繼續曬太陽。。。圖片