使用Python对原始图像进行以下形式的几何变换:缩放、旋转、平移、裁剪、镜像变换,在同一个窗口内分成六个子窗口来分别显示原图和变换后的图像。
时间: 2023-07-30 16:10:42 浏览: 102
好的,以下是使用Python实现对原始图像进行几何变换的代码示例:
```python
import cv2
import numpy as np
# 读取原始图像
img = cv2.imread('example.jpg')
# 缩放变换
resized = cv2.resize(img, None, fx=0.5, fy=0.5, interpolation=cv2.INTER_LINEAR)
# 旋转变换
(h, w) = img.shape[:2]
center = (w // 2, h // 2)
M = cv2.getRotationMatrix2D(center, 45, 1.0)
rotated = cv2.warpAffine(img, M, (w, h))
# 平移变换
M = np.float32([[1, 0, 50], [0, 1, 50]])
translated = cv2.warpAffine(img, M, (w, h))
# 裁剪变换
cropped = img[100:500, 200:600]
# 镜像变换
flipped = cv2.flip(img, 1)
# 在同一个窗口内分成六个子窗口来分别显示原图和变换后的图像
cv2.namedWindow('Image Transformations', cv2.WINDOW_NORMAL)
cv2.resizeWindow('Image Transformations', 1200, 800)
cv2.imshow('Image Transformations', np.hstack([img, resized, rotated, translated, cropped, flipped]))
cv2.waitKey(0)
```
这段代码会将原始图像读取进来,并分别进行缩放、旋转、平移、裁剪、镜像变换,最后将变换后的图像在同一个窗口内分成六个子窗口来分别显示。你可以将`example.jpg`替换为你自己的图像文件名来测试代码。
阅读全文