Python opencv自动裁剪文件夹中图片指定区域并压缩成640×480,保存到另一文件夹
时间: 2024-05-02 08:18:56 浏览: 149
下面是Python OpenCV自动裁剪文件夹中图片指定区域并压缩成640×480,保存到另一文件夹的代码:
```python
import cv2
import os
# 指定原始图像文件夹路径和目标图像文件夹路径
src_folder = "/path/to/source/folder/"
dst_folder = "/path/to/destination/folder/"
# 指定裁剪区域左上角和右下角坐标
x1, y1, x2, y2 = 100, 100, 500, 500
# 指定压缩后的图像宽度和高度
dst_width, dst_height = 640, 480
# 遍历原始图像文件夹中的所有图像文件
for filename in os.listdir(src_folder):
# 读取原始图像
src_path = os.path.join(src_folder, filename)
src_img = cv2.imread(src_path)
# 裁剪指定区域
cropped_img = src_img[y1:y2, x1:x2]
# 缩放到指定大小
dst_img = cv2.resize(cropped_img, (dst_width, dst_height))
# 保存到目标文件夹
dst_path = os.path.join(dst_folder, filename)
cv2.imwrite(dst_path, dst_img)
```
上述代码中,需要根据实际情况修改以下变量:
- `src_folder`:原始图像文件夹路径。
- `dst_folder`:目标图像文件夹路径。
- `x1, y1, x2, y2`:裁剪区域左上角和右下角坐标。
- `dst_width, dst_height`:压缩后的图像宽度和高度。
代码中使用了OpenCV的`cv2.imread`、`cv2.resize`和`cv2.imwrite`函数,分别用于读取图像、缩放图像和保存图像。在遍历原始图像文件夹中的所有图像文件时,可以使用Python的`os.listdir`函数和`os.path.join`函数来构造文件路径。
阅读全文