python调用opencv对文件夹内图像批量化灰度处和裁剪处理后批量存储
时间: 2024-10-21 19:03:25 浏览: 36
使用OpenCV-Python实现灰度化、二值化等基本处理
在Python中,你可以使用OpenCV库(cv2模块)对文件夹内的图像进行批量化操作,包括转换为灰度和裁剪。以下是一个简单的步骤示例:
首先,你需要安装必要的库(如果尚未安装):
```bash
pip install opencv-python
```
然后,编写一个函数来进行灰度转换和裁剪:
```python
import cv2
import os
def process_images(input_folder, output_folder, crop_area):
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for filename in os.listdir(input_folder):
img_path = os.path.join(input_folder, filename)
# 读取图片
img = cv2.imread(img_path)
# 转换为灰度
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 裁剪指定区域
cropped_img = gray_img[crop_area[1]:crop_area[1]+crop_area[3], crop_area[0]:crop_area[0]+crop_area[2]]
# 写入新文件
output_path = os.path.join(output_folder, 'gray_' + filename)
cv2.imwrite(output_path, cropped_img)
# 使用函数,传入输入文件夹、输出文件夹和裁剪区域(例如左上角坐标(x, y)和宽度高度(width, height))
input_folder = "path/to/input/folder"
output_folder = "path/to/output/folder"
crop_area = (x, y, width, height) # 根据实际需要设置裁剪区域
process_images(input_folder, output_folder, crop_area)
```
在这个例子中,`process_images`函数会遍历`input_folder`中的每个图像文件,将其转换为灰度并按照`crop_area`裁剪后,保存到`output_folder`。
阅读全文