python opencv通过按键采集图片源码

2023-12-17Python编程
32

下面详细讲解使用 Python OpenCV 通过按键采集图片的完整攻略。

1. 安装Python和OpenCV库

首先需要安装 Python 和 OpenCV 库。可以在Python官网下载Python的最新版本并安装,安装完成后需要在命令行中输入以下指令安装OpenCV库:

pip install opencv-python

2. 编写代码

导入库和初始化摄像头

编写代码之前,首先需要导入所需的库和初始化摄像头。以下是使用 cv2.VideoCapture(0) 方法打开默认摄像头的示例代码:

import cv2

cap = cv2.VideoCapture(0)

在这里,cap 是一个 VideoCapture 对象,我们可以通过这个对象读取摄像头采集的视频。

按键采集图片

一般来说,我们使用 cv2.waitKey() 方法来实现对按键的响应。以下是一个示例代码,通过按下 空格 键来采集图片的功能:

import cv2

cap = cv2.VideoCapture(0)
while True:
    ret, frame = cap.read()
    cv2.imshow("frame", frame)
    if cv2.waitKey(1) == ord(' '):
        cv2.imwrite("capture.jpg", frame)
        break
cap.release()
cv2.destroyAllWindows()

在这里,我们使用 cv2.imshow() 方法实时显示摄像头采集的图片,使用 cv2.waitKey() 方法等待用户按下键盘,如果用户按下了 空格 键,则使用 cv2.imwrite() 方法将当前摄像头采集的图片储存到文件中,并通过 break 语句退出循环。

示例1:实现通过按下回车键停止采集

以下是一个示例代码,通过按下 回车 键来停止采集图片的功能:

import cv2

cap = cv2.VideoCapture(0)
while True:
    ret, frame = cap.read()
    cv2.imshow("frame", frame)
    if cv2.waitKey(1) == 13:
        cv2.imwrite("capture.jpg", frame)
        break
cap.release()
cv2.destroyAllWindows()

在这里,13回车 键的 ASCII 码,当用户按下 回车 键时,循环内的代码会被执行,并使程序结束。

示例2:实现连续采集并自动保存

以下是一个示例代码,实现连续采集并自动保存多张图片的功能:

import cv2

cap = cv2.VideoCapture(0)
i = 0
while True:
    ret, frame = cap.read()
    cv2.imshow("frame", frame)
    if cv2.waitKey(1) == ord(' '):
        cv2.imwrite(str(i) + ".jpg", frame)
        i += 1
cap.release()
cv2.destroyAllWindows()

在这里,我们使用变量 i 记录已经采集图片的数量,采集的图片以数字命名并自动保存到当前文件夹下。

以上就是通过 Python OpenCV 通过按键采集图片的完整攻略,希望对你有所帮助。

The End

相关推荐

解析Python中的eval()、exec()及其相关函数
Python中有三个内置函数eval()、exec()和compile()来执行动态代码。这些函数能够从字符串参数中读取Python代码并在运行时执行该代码。但是,使用这些函数时必须小心,因为它们的不当使用可能会导致安全漏洞。...
2023-12-18 Python编程
117

Python下载网络文本数据到本地内存的四种实现方法示例
在Python中,下载网络文本数据到本地内存是常见的操作之一。本文将介绍四种常见的下载网络文本数据到本地内存的实现方法,并提供示例说明。...
2023-12-18 Python编程
101

Python 二进制字节流数据的读取操作(bytes与bitstring)
来给你详细讲解下Python 二进制字节流数据的读取操作(bytes与bitstring)。...
2023-12-18 Python编程
120

Python3.0与2.X版本的区别实例分析
Python 3.x 是 Python 2.x 的下一个重大版本,其中有一些值得注意的区别。 Python 3.0中包含了许多不兼容的变化,这意味着在迁移到3.0之前,必须进行代码更改和测试。本文将介绍主要的差异,并给出一些实例来说明不同点。...
2023-12-18 Python编程
34

python如何在终端里面显示一张图片
要在终端里显示图片,需要使用一些Python库。其中一种流行的库是Pillow,它有一个子库PIL.Image可以加载和处理图像文件。要在终端中显示图像,可以使用如下的步骤:...
2023-12-18 Python编程
91

Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
在Python中,我们可以使用Pillow库来进行图像处理。具体实现两幅图像合成一幅图像的方法如下:...
2023-12-18 Python编程
103