基于opencv将一个文件夹内的所有图片进行灰度化处理
时间: 2024-10-10 08:03:43 浏览: 38
在OpenCV中,你可以通过以下几个步骤将一个文件夹内的所有图片转换为灰度:
1. **导入必要的库**:
首先,你需要导入`cv2`(OpenCV的核心模块)和`os`(操作系统模块),用于文件路径的操作。
```python
import cv2
import os
```
2. **指定文件夹路径**:
定义包含图片的文件夹路径以及目标存放灰度图像的文件夹路径。
```python
src_folder = 'path_to_your_source_folder'
dst_folder = 'path_to_your_destination_folder'
```
3. **遍历文件夹并处理图片**:
使用`os.listdir()`获取文件夹内的所有文件名,然后对每个文件进行读取、灰度化,并保存到新目录。
```python
for filename in os.listdir(src_folder):
if filename.endswith(('.jpg', '.png', '.jpeg')): # 只处理常见的图片格式
img_path = os.path.join(src_folder, filename)
gray_img = cv2.imread(img_path, cv2.IMREAD_GRAYSCALE) # 读取并转换为灰度
dst_path = os.path.join(dst_folder, 'gray_' + filename) # 新的文件名加上“gray_”
cv2.imwrite(dst_path, gray_img) # 保存灰度图片
```
4. **运行脚本**:
将以上代码放在一个Python脚本中运行,这个脚本会按顺序读取源文件夹内的图片,并将其存储在目标文件夹内,名字前加上"gray_"作为标识。
注意:确保源文件夹存在,有权限访问并能创建目标文件夹。此外,也可以根据需要调整文件过滤条件,只处理特定类型的图片。
阅读全文