样例代码:
该代码将从文件夹中取出所有jpg图像的路径,通过多线程map函数将函数和列表形式存在的参数作为输入传入,启动线程。
import glob
import os
import cv2
import concurrent.futures
# 这是一个图像resize并写入的函数
def load_and_resize(image_filename):
img = cv2.imread(image_filename)
img = cv2.resize(img, (600, 600))
cv2.imwrite("res.jpg",img)
if __name__=="__main__"
# 创建多进程类
with concurrent.futures.ProcessPoolExecutor() as executor:
image_files = glob.glob("*.jpg")
# 执行器类
executor.map(load_and_resize, image_files)
注意:
- 多线程的代码必须在main()内,否则报错