python多线程同时读取图片代码
时间: 2023-09-14 12:02:32 浏览: 111
可以使用Python的多线程模块(concurrent.futures)来实现。以下是一个示例代码,它使用了ThreadPoolExecutor来实现同时读取多个图片:
```
from concurrent.futures import ThreadPoolExecutor
import cv2
def read_image(image_path):
img = cv2.imread(image_path)
return img
def main():
image_paths = ['image1.jpg', 'image2.jpg', 'image3.jpg']
with ThreadPoolExecutor(max_workers=3) as executor:
results = executor.map(read_image, image_paths)
for image in results:
# 处理图片...
```
这个代码中,我们先定义了一个`read_image`函数,用来读取指定路径的图片文件。然后在`main`函数中,定义了要读取的多个图片文件的路径,并使用`ThreadPoolExecutor`来创建一个拥有三个工作线程的线程池。接着,我们将`read_image`函数和图片文件路径列表传递给`executor.map`函数,它会并发地调用`read_image`函数,并返回一个包含读取结果的迭代器。最后,我们可以使用`for`循环遍历这个迭代器,对每个读取结果进行后续处理。
阅读全文