OpenCV打开摄像头并显示图像(C++、Python)
主要使用cv::VideoCapture类完成。
C++代码:
环境:Windows10 + vs2019
#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/videoio.hpp>
#include<sstream>int main(int argc, char* argv[])
{cv::VideoCapture cap; //声明相机捕获对象//设置编码格式,//https://www.fourcc.org/codecs.php//更多属性设置参考:https://docs.opencv.org/4.5.0/d9/df8/tutorial_root.htmlcap.set(cv::CAP_PROP_FOURCC, cv::VideoWriter::fourcc('M','J','P','G')); cap.set(cv::CAP_PROP_FRAME_WIDTH, 640); //图像的宽,需要相机支持此宽cap.set(cv::CAP_PROP_FRAME_HEIGHT, 480); //图像的高,需要相机支持此高//图像分辨率640×480int deviceID = 0; //相机设备号cap.open(deviceID); //打开相机if (!cap.isOpened()) //判断相机是否打开{std::cerr << "ERROR!!Unable to open camera\n";return -1;}cv::Mat img;while (true){cap >> img; //以流形式捕获图像cv::namedWindow("example", 1); //创建一个窗口用于显示图像,1代表窗口适应图像的分辨率进行拉伸。if (img.empty() == false) //图像不为空则显示图像{cv::imshow("example", img);}int key = cv::waitKey(30); //等待30msif (key == int('q')) //按下q退出{break;}}cap.release(); //释放相机捕获对象cv::destroyAllWindows(); //关闭所有窗口return 0;}
如果电脑上有外接的usb摄像机,可以更换设备号为1打开,在0与1之间切换会找到你想打开的相机,如果有更多相机,设备号依次增加。
Python代码:
#!/usr/bin/env python
# coding=utf8import numpy as np
from cv2 import cv2cap = cv2.VideoCapture(0) #设备号为0
cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc('M','J','P','G'))
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)while(True):if cap.isOpened() == False:print('can not open camera')breakret, frame = cap.read() #读取图像if ret == False: #图像读取失败则直接进入下一次循环continuecv2.namedWindow("frame")cv2.imshow('frame', frame)mykey = cv2.waitKey(1)#按q退出循环,0xFF是为了排除一些功能键对q的ASCII码的影响if mykey & 0xFF == ord('q'):break#释放资源
cap.release()
cv2.destroyAllWindows()
OpenCV打开摄像头并显示图像(C++、Python)相关推荐
- AI 质检学习报告——实践篇——第三步:python利用OpenCV打开摄像头截图后实现图片识字
AI 质检学习报告--实践篇--第一步:python利用OpenCV打开摄像头并截图 AI 质检学习报告--实践篇--第二步:实现图片识字 前边两篇实践已经分别实现了利用OpenCV打开摄像头并截图和 ...
- AI 质检学习报告——实践篇——第一步:python利用OpenCV打开摄像头并截图
写在前边 想要做一个AI质检的项目,一点一点来,首先:python利用OpenCV打开摄像头并拍照. 效果 设摄像头像素不咋地,实际的产品肯定不会是这个像素,必须安排一个专业的. 实现代码 impor ...
- python opencv打开摄像头,截图保存
python opencv打开摄像头,截图保存,学习结果如下: 使用python打开摄像头 import cv2 cap = cv2.VideoCapture(0) #设置摄像头 0是默认的摄像头 如 ...
- python opencv打开摄像头
opencv打开摄像头 import cv2 cap = cv2.VideoCapture(0) while True:ret, frame = cap.read()frame = cv2.flip( ...
- OpenCv打开摄像头失败问题处理cap_msmf.cpp (677) MFVideoFormat_RGB24(codec not found)
python opencv 打开摄像头,服务器挂掉重新启动问题 下面是代码 importing the required modules import cv2 import numpy as np c ...
- 如何使用 Opencv 打开摄像头获取图像信息?
如何使用 Opencv 打开摄像头获取图像信息? Flow 遍历摄像头设备. 根据 VID 和 PID 打开特定的设备. 使用 Directshow 设置摄像头相关参数(曝光度.分辨率.亮度.饱和度. ...
- OpenCV打开摄像头,RGB转HSV空间
文章目录 前言 一.使用OpenCV打开摄像头 二.使用OpenCV进行图像预处理 前言 有段时间没有更新了,最近主要在忙一个项目,用到了OpenCV,故想把一些常用代码在这里备份一下,一起学习. 环 ...
- C++/Qt 使用OpenCV打开摄像头,旋转视频,计算fps
C++/Qt 使用OpenCV打开摄像头,旋转视频,计算fps 设置摄像头参数 不要随意修改,同时也不一样会修改成功,需要根据实际摄像头的参数选择设置 /*设置摄像头参数 不要随意修改capture. ...
- python+opencv打开摄像头、拍摄指定次数的照片_python+openCV调用摄像头拍摄和处理图片的实现...
在深度学习过程中想做手势识别相关应用,需要大量采集手势图片进行训练,作为一个懒人当然希望飞快的连续采集图片并且采集到的图片就已经被处理成统一格式的啦..于是使用python+openCV调用摄像头,在 ...
最新文章
- JavaScript小记
- PDC - C#4.0 以及未来
- Multiple Object Tracking:多目标跟踪综述
- 需要vmwareinstalldisk上的文件vmnet_手机上一键就能进行PDF与其他文件的相互转换,果然厉害到不行...
- java mysql websocket_javaweb-ajax-websocket-mysql
- 图神经网络的可解释性
- wgan 不理解 损失函数_GAN:「太难的部分我就不生成了,在下告退」
- 模板类的声明和定义要放在同一个文件
- 杜克大学计算机统计学,Duke的Statistical Science「杜克大学统计学系」
- mysql数据库二级检索_MySQL数据库(2)检索信息
- 查询好友IP地址的几种方法
- 计算机ws2_32dll丢失,电脑显示计算机中丢失ws2-32.dll,怎么办
- 网上打开与关闭gps几种方案测试,其中方案3可行
- IOS 腾讯微博开放平台 SDK 初体验
- [论文笔记] 视频广告理解的多模态框架
- 《胡雪岩 1》——读书笔记
- 怎么画出好的架构图,架构师必备!
- React Native动画Animated详解
- win10 1809版本手动安装WSL和ubuntu 18.04
- java 扩展名读取_java 读取excel文件,根据文件后缀名
热门文章
- 阿里云服务器开发实践:使用云服务器ECS搭建DoH服务
- rhel6 中安装使用finger命令
- Matlab_GUI gcf、gca 以及gco 的区别用法
- Windows下使用IDEAS对cala文件打jar包
- 轻量化网络结构——MobileNet
- 关于步进电机励相数、拍数、励磁方式、编码
- 【Android】Webview加载url出现空白但是在手机或者pc的浏览器中可以正常打开的解决方法
- android直播sdk+美颜,直播美颜sdk的三大功能及注意事项
- html绝对定位自适应不同分辨率,(css)绝对定位如何在不同分辨率下的电脑正常显示位置?...
- python3 冒泡排序 快速排序