opencv遍历读取一个文件夹下的图片,读取一次处理后显示图形,继续循环下一张
时间: 2024-09-23 15:08:20 浏览: 67
在OpenCV中,如果你想遍历读取一个文件夹下的所有图片,然后依次处理并显示它们,你可以按照下面的步骤操作:
1. **获取目录内容**:使用`os.listdir()`获取指定文件夹下的所有文件名,包括图片(通常是`.jpg`, `.png`等格式):
```python
import os
folder_path = 'your_folder_path'
image_files = [f for f in os.listdir(folder_path) if f.endswith('.jpg') or f.endswith('.png')]
```
2. **读取并处理图片**:创建一个循环,对每个文件进行读取、处理(比如调整大小、转换颜色空间等),并显示出来:
```python
for filename in image_files:
img = cv2.imread(os.path.join(folder_path, filename))
# 这里添加你的处理代码,如缩放、旋转、滤波等
processed_img = process_image(img)
# 显示图片
cv2.imshow("Image", processed_img)
key = cv2.waitKey(1) & 0xFF # 等待按键事件,key值为下一个显示的图片编号
# 如果按下了 ESC 键,退出循环
if key == 27:
break
```
3. **关闭所有窗口**:循环结束后,记得关闭所有窗口:
```python
cv2.destroyAllWindows()
```
在这个例子中,`process_image()`是你自己定义的一个函数,用于对图像进行具体的处理操作。
阅读全文