在OpenCV中,可以使用cv2.resize()函數來實現圖片的縮放操作。該函數接受兩個參數,第一個參數是要縮放的圖片,第二個參數是目標圖片的大小。可以通過設置第二個參數來確定縮放后的圖片大小。
例如,將一張圖片縮小為原來的一半大小:
import cv2
# 讀取圖片
img = cv2.imread('image.jpg')
# 縮放圖片
resized_img = cv2.resize(img, (img.shape[1] // 2, img.shape[0] // 2))
# 顯示原始圖片和縮放后的圖片
cv2.imshow('Original Image', img)
cv2.imshow('Resized Image', resized_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
另外,可以使用cv2.getRotationMatrix2D()函數來創建一個旋轉矩陣,然后使用cv2.warpAffine()函數來對圖片進行旋轉操作。
例如,將一張圖片逆時針旋轉90度:
import cv2
import numpy as np
# 讀取圖片
img = cv2.imread('image.jpg')
# 獲取旋轉矩陣
M = cv2.getRotationMatrix2D((img.shape[1] // 2, img.shape[0] // 2), 90, 1)
# 旋轉圖片
rotated_img = cv2.warpAffine(img, M, (img.shape[1], img.shape[0]))
# 顯示原始圖片和旋轉后的圖片
cv2.imshow('Original Image', img)
cv2.imshow('Rotated Image', rotated_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
以上代碼中,getRotationMatrix2D()函數接受三個參數,分別是旋轉中心坐標、旋轉角度和縮放因子。warpAffine()函數接受三個參數,分別是要旋轉的圖片、旋轉矩陣和目標圖片大小。