基础的OpenCV线性变换实例
本文将演示如何使用OpenCV库进行基本线性变换。我们将通过一个简单的例子来展示缩放、旋转和平移图像的方法,并提供相应的源代码。
- 缩放图像
首先,我们将演示如何通过缩放图像来实现基本线性变换。具体实现代码如下:
import cv2
img = cv2.imread('image.jpg', cv2.IMREAD_UNCHANGED)
# 首先获取图像的高度和宽度
height, width = img.shape[:2]
# 定义缩放比例
scale_x, scale_y = 0.5, 0.5
# 缩放图像
resized_img = cv2.resize(img, (int(width * scale_x), int(height * scale_y)))
# 显示原始图像和调整大小后的图像
cv2.imshow("Original image", img)
cv2.imshow("Resized image", resized_img)
# 等待用户按下任意键
cv2.waitKey(0)
- 旋转图像
接下来,我们将演示如何对图像进行旋转。具体实现代码如下:
import cv2
import numpy as np
img = cv2.imread('image.jpg', cv2.IMREAD_UNCHANGED)
# 首先获取图像的高度和宽度
height, width = img.shape[:2]
# 定义旋转角度
angle = 45
# 指定旋转中心
center = (width // 2, height // 2)
# 定义旋转矩阵
rotation_matrix = cv2.getRotationMatrix2D(center, angl