用python调用opencv批量裁剪图片为28*28的图片后图片后批量储存
时间: 2024-10-21 07:04:32 浏览: 86
在Python中使用OpenCV进行批量裁剪和保存28x28大小的图片,可以按照以下步骤操作:
首先,确保你已经安装了`numpy`, `os`, 和 `cv2`库。如果你还没有安装,可以使用`pip`命令安装:
```bash
pip install numpy opencv-python
```
然后,你可以创建一个函数来处理图片裁剪和保存:
```python
import cv2
import os
import numpy as np
def crop_and_save_images(input_dir, output_dir, size=(28, 28)):
# 检查目标输出目录是否存在,不存在则创建
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# 遍历输入目录中的所有文件(假设都是图像)
for filename in os.listdir(input_dir):
img_path = os.path.join(input_dir, filename)
# 读取图片
image = cv2.imread(img_path)
# 裁剪图片到指定尺寸
cropped_img = image[:size[0], :size[1]]
# 将裁剪后的图像转换为灰度图(如果需要,对于识别任务,灰度化通常更好)
gray_img = cv2.cvtColor(cropped_img, cv2.COLOR_BGR2GRAY)
# 保存裁剪后的图片
output_path = os.path.join(output_dir, filename) # 使用原文件名作为输出文件名
cv2.imwrite(output_path, gray_img)
# 示例用法
crop_and_save_images('input_folder', 'output_folder')
```
在这个函数中,你需要将`'input_folder'`替换为你的源图片文件夹路径,`'output_folder'`替换为你想要保存裁剪图片的目标文件夹路径。
阅读全文