这是我参与更文挑战的第15天,活动详情查看: 更文挑战
OpenCV
是一个C++
库,目前流行的计算机视觉编程库,用于实时处理计算机视觉方面的问题,它涵盖了很多计算机视觉领域的模块。在Python
中常使用OpenCV
库实现图像处理。
本文将介绍如何在Python3
中使用OpenCV
制作一个循环播放的电子相册:
制作原理
我们采用Python3
的itertools
模块中的cycle
函数,这个函数可以把一个可遍历结构变成一个无限循环的迭代器。
根据这样的功能,我们可以把需要遍历播放的图片都放在一个文件夹里面,使用该函数进行无限循环的迭代。
img_iter = cycle([cv2.imread(os.sep.join(['E:\\demo\\image', x])) for x in filenames])
设置按键响应,当按动“L
”键时就退出程序。
if cv2.waitKey(1000) & 0xFF == ord('L'):
break
完整代码
import os
from itertools import cycle
import cv2
# 列出frames文件夹下的所有图片
filenames = os.listdir('E:\\demo\\image')
# 通过itertools.cycle生成一个无限循环的迭代器,每次迭代都输出下一张图像对象
img_iter = cycle([cv2.imread(os.sep.join(['E:\\demo\\image', x])) for x in filenames])
key = 0
while key & 0xFF != 5:
cv2.imshow('Photo', next(img_iter))
key = cv2.waitKey(1000)
if cv2.waitKey(1000) & 0xFF == ord('L'):
break
输出为:
本月将陆续推出相关系列文章,
篇篇精彩,尽请关注。