热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python获得摄像头捕捉的图像

Python获得摄像头捕捉的图像很多时候,我们都需要通过摄像头捕获图像,以便进行处理,在这里分享的是通过OPENCV这个库来实现。OP

Python 获得摄像头捕捉的图像

很多时候,我们都需要通过摄像头捕获图像,以便进行处理,在这里分享的是通过OPEN CV这个库来实现。

OPEN CV的安装和使用

安装很简单,相关文章也很多,注意一点,不要安装最新版本,要安装上一个大版本的最后一发行版本。
即,如果当前最新版本是4.6.xx,那么就安装4.5.xx的最新版本即可。否则很容易遇到各种问题。
如果安装后遇到代码提示功能不正常的话,请看这里:python pycharm中使用opencv时,没有代码自动补全提示。

安装摄像头

首先要保证有一个可以正常使用的摄像头,并正确安装驱动。如下图:
在这里插入图片描述

测试摄像头是否正常工作

可以用AMCAP这个经典软件工具,也可以在这里下载:AMCAP下载
下图设置中,点一下“默认值”按钮,以恢复出厂设置状态,以免因为设置问题导致显示不正常。
在这里插入图片描述
下图设置中,很多摄像头必须选择MJPG,才能达到最高帧率。这一点需要与摄像头厂家沟通一下。
在这里插入图片描述

在Options菜单中,勾选第1项,即可查看摄像头画面。

在这里插入图片描述

如果正常显示如下图,那么可以确定摄像头能够正常工作。

在这里插入图片描述

代码编写

直接复制以下代码,即可正常显示。按Q键退出示例程序。

import cv2
class Camera:
def __init__(self):
self.cap = cv2.VideoCapture(0) # 打开摄像头
self.cap.set(3, 1120) # 宽度960
self.cap.set(4, 630) # 高度540
def get_img(self):
if self.cap.isOpened():
ret, img = self.cap.read() # 读摄像头, 返回2个参数, 第1个是布尔值, 若图像正确则为真. 第2个是图像三维像素矩阵
cv2.imshow('Camera picture', img)
return img
def free(self):
self.cap.release()
cv2.destroyAllWindows()
def camera_test():
camera = Camera()
while True:
img = camera.get_img()
if (cv2.waitKey(1) & 0xFF) == ord('q'):
cv2.imwrite(".\\img\\test.jpg", img)
break
if __name__ == '__main__':
camera_test()






推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 本文介绍了如何在C#中启动一个应用程序,并通过枚举窗口来获取其主窗口句柄。当使用Process类启动程序时,我们通常只能获得进程的句柄,而主窗口句柄可能为0。因此,我们需要使用API函数和回调机制来准确获取主窗口句柄。 ... [详细]
  • 本文探讨了 Objective-C 中的一些重要语法特性,包括 goto 语句、块(block)的使用、访问修饰符以及属性管理等。通过实例代码和详细解释,帮助开发者更好地理解和应用这些特性。 ... [详细]
  • 本文详细介绍了Python中文件的基本操作,包括打开、读取、写入和关闭文件的方法,并通过实例展示了如何将Excel文件转换为CSV文件以及进一步转换为HTML文件。此外,还涉及了成绩等级替换的具体实现。 ... [详细]
  • Python实现照片磨皮效果
    本文介绍如何使用Python和OpenCV库来实现照片的磨皮效果,使图片更加平滑并提升整体美感。 ... [详细]
  • 如何使用PyCharm及常用配置详解
    对于一枚pycharm工具的使用新手,正确了解这门工具的配置及其使用,在使用过程中遇到的很多问题也可以迎刃而解,文中有非常详细的介绍, ... [详细]
author-avatar
mobiledu2502878137
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有