如何将Mat里的图像平移
时间: 2024-03-08 12:48:42 浏览: 20
可以使用OpenCV库来实现图像平移的操作。
具体步骤如下:
1. 读取图像并创建一个平移矩阵。
```
import cv2
import numpy as np
img = cv2.imread("image.jpg")
rows, cols = img.shape[:2]
# 创建平移矩阵
M = np.float32([[1, 0, 100], [0, 1, 50]])
```
2. 使用`cv2.warpAffine()`函数实现图像平移。
```
# 图像平移
dst = cv2.warpAffine(img, M, (cols, rows))
```
其中,`cv2.warpAffine()`函数的参数解释如下:
- `img`:输入图像
- `M`:平移矩阵
- `(cols, rows)`:输出图像的大小
3. 显示结果并保存图像。
```
# 显示结果
cv2.imshow("img", img)
cv2.imshow("dst", dst)
cv2.waitKey(0)
# 保存结果
cv2.imwrite("result.jpg", dst)
```
完整代码如下:
```
import cv2
import numpy as np
img = cv2.imread("image.jpg")
rows, cols = img.shape[:2]
# 创建平移矩阵
M = np.float32([[1, 0, 100], [0, 1, 50]])
# 图像平移
dst = cv2.warpAffine(img, M, (cols, rows))
# 显示结果
cv2.imshow("img", img)
cv2.imshow("dst", dst)
cv2.waitKey(0)
# 保存结果
cv2.imwrite("result.jpg", dst)
```