【Python3-OpenCV】制作一个循环播放的电子相册

·  阅读 440
【Python3-OpenCV】制作一个循环播放的电子相册

这是我参与更文挑战的第15天,活动详情查看: 更文挑战

OpenCV是一个C++库,目前流行的计算机视觉编程库,用于实时处理计算机视觉方面的问题,它涵盖了很多计算机视觉领域的模块。在Python中常使用OpenCV库实现图像处理。

image.png

本文将介绍如何在Python3中使用OpenCV制作一个循环播放的电子相册:

制作原理

我们采用Python3itertools模块中的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

输出为:

image.png

本月将陆续推出相关系列文章,

篇篇精彩,尽请关注。

分类:
后端
标签:
分类:
后端
标签:
收藏成功!
已添加到「」, 点击更改