cv2.imread批量读取图片
时间: 2024-11-23 09:29:27 浏览: 46
`cv2.imread()` 是 OpenCV(Computer Vision Library,计算机视觉库)中的一个函数,用于从文件中读取图像。如果你想批量读取多张图片,可以采用循环的方式结合这个函数。以下是一个简单的示例:
```python
import cv2
# 假设图片路径在一个包含多个图片的列表里
image_paths = ['image1.jpg', 'image2.png', 'image3.bmp']
# 创建一个空列表存储所有加载的图像
images = []
for path in image_paths:
# 使用 imread 逐个读取图片
img = cv2.imread(path)
# 如果图片成功加载,img变量将包含图像数据;如果失败则返回None,你可以在这里处理错误情况
if img is not None:
images.append(img)
else:
print(f"Failed to load {path}")
# 现在images列表包含了所有成功加载的图片数组
```
相关问题
image = cv2.imread('image_'+str(i)+'.jpg', 0)改为批量读取001开头的图片
可以使用以下代码来批量读取以"001"开头的图片:
```
import os
folder_path = "path/to/folder" # 修改为图片所在的文件夹路径
images = []
for file_name in os.listdir(folder_path):
if file_name.startswith("001"):
image = cv2.imread(os.path.join(folder_path, file_name), 0)
images.append(image)
```
这个代码段会读取`folder_path`目录中以"001"开头的所有图片,并将它们存储在`images`列表中。你可以根据你的需求对这些图片进行处理。
images = [cv2.resize(cv2.imread(file), (224, 224)) for file in glob.glob(glob_dir)]
这行代码使用了OpenCV库(cv2)来读取和调整图像的大小。首先,它使用glob库中的glob函数来匹配指定目录(glob_dir)下的所有文件。然后,对于每个匹配的文件,它使用cv2.imread函数来读取图像,并使用cv2.resize函数将图像的大小调整为(224, 224)像素。最后,将调整大小后的图像存储在一个列表(images)中。
换句话说,这行代码的作用是批量读取指定目录下的图像文件,并将它们调整为(224, 224)像素大小。
阅读全文