阿汛的opencv学习笔记(一)

   日期:2020-07-06     浏览:92    评论:0    
核心提示:opencv读取图片、视频、摄像头上一篇博客我们已经安装好了opencv,从这篇博客开始我们来记录我在学习opencv使用时的心得。首先我们要明确视频是由一帧一帧的图片快速变换、连接而成的,于是对视频的处理要先从图像开始。对于机器视觉的学习首先要将图片导入到我们的编程环境里来import cv2img = cv2.imread(图片的地址)#读取图片,括号中用字符串的形式来输入读取路径这样一张我们指定的图片就被导入到我们的编程环境中来了,但是此时我们并不能在图形界面看到这幅名为‘img’的

opencv读取图片、视频、摄像头

上一篇博客我们已经安装好了opencv,从这篇博客开始我们来记录我在学习opencv使用时的心得。
首先我们要明确视频是由一帧一帧的图片快速变换、连接而成的,于是对视频的处理要先从图像开始。
对于机器视觉的学习首先要将图片导入到我们的编程环境里来

import cv2
img = cv2.imread('图片的地址')#读取图片,括号中用字符串的形式来输入读取路径

这样一张我们指定的图片就被导入到我们的编程环境中来了,但是此时我们并不能在图形界面看到这幅名为‘img’的图片。
于是我们用下面这条语句使图片显示并且定格在图形界面。

cv2.imshow('togetheer',img)#显示图片,('图片的标题',图片文件的变量名)
cv2.waitKey(0)#设置显示图片的时间延时,0表示无限延时,数字以毫秒为单位,输入1000停留1秒

要注意的是imshow命令中图片标题必须要有,否则会报错,就是这么无情!!
此时我们看见了这张图片,接下来引入视频:

cap = cv2.VideoCapture('视频地址')#读取视频
while True:#每一帧读取图片,并利用循环播放
    success,img = cap.read()#读取贞
    cv2.imshow('video',img)
    if cv2.waitKey(1) & 0xFF == ord('q'):#按q键退出播放
        break

这里我们在读取视频文件之后通过while循环,在每1ms截取一张图片显示的形式来展示这个视频,也就是在文章开头提到的视频形成的原理。人眼的识别速率是最快每秒30帧也就是说,每帧停留时间在1/30秒以下在人的视觉内看见的都是一幅流畅的视频画面。
读取摄像头的原理与读取视频的原理相似,直接来代码:

cap = cv2.VideoCapture(0)#读取摄像头,如果只有一个,那么填0,使用默认填0,使用其他的填写摄像头id
cap.set(3,640)#宽度代号3
cap.set(4,480)#长度代号4
cap.set(10,1000)#亮度代号10
while True:#每一帧读取图片,并利用循环播放
    success,img = cap.read()#读取贞
    cv2.imshow('video',img)
    if cv2.waitKey(1) & 0xFF == ord('q'):#按q键退出播放
        break

这里的VideoCapture命令是调取一个摄像头的数据,如果是想调用非默认的摄像头那么可以通过OBS来查看ID,这个教程在网上很多,在这里就不多说了。
set命令可以调节视频的尺寸大小、亮度、对比度、色调等等这些参数,感兴趣的可以谷歌一下,在这里就不展开介绍了。
总体来说,这都是对图片的处理,之后通过while函数实现视频流的形成。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服