关于opencv读取图片、视频总是窗口一闪不出图、视频的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于opencv读取图片、视频总是窗口一闪不出图、视频的问题相关的知识,希望对你有一定的参考价值。

按照《学习OPENCV》例程2——播放AVI视频用vc6.0编写了代码,运行后窗口闪一下,无法加载视频,求教。(视频文件为avi格式,存放在根目录下)
以下为代码:

#include "highgui.h"

int main(int argc,char** argv)

cvNamedWindow("Example2",CV_WINDOW_AUTOSIZE);
CvCapture* capture=cvCreateFileCapture("May.avi"); //确定要读的AVI文件
IplImage* frame;
while(1)

frame=cvQueryFrame(capture); //cvQueryFrame的参数为CvCapture结构的指针。用来将下一帧视频文件载入内存
if(!frame)break;
cvShowImage("Example2",capture);
char c=cvWaitKey(33); //当前帧被显示后,等待33ms
if(c==27)break; //“Esc”键的ASCII码值为27,按下“Esc”后循环退出

cvReleaseCapture(&capture);
cvDestroyWindow("Example2");

cvShowImage("Example2",capture);
这句话,把capture改成frame,你显示的是图片,不是capture。你试试,希望对您有帮助
参考技术A 把路径改成完整的试试,记得每一层之间隔开是用//而不是/追问

盘符还是加:的,譬如这样?:H:\\Open Cv\\2.播放AVI视频\\test.avi

3h精通OpenCV- 读取图像视频与网络摄像头

0、准备工作

右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库。

1、读取图像
  1. 调用imread()方法获取我们资源文件夹中的图片
  2. 使用imshow()方法显示图片,窗口名称为Output
  3. waitKey(0)这句可以让窗口一直保持,如果去掉这句,窗口会一闪而过
############打开图像############
img=cv2.imread("Resources/lena.jpg")
cv2.imshow("Output",img)
cv2.waitKey(0)

我们来看下效果:

2、读取视频
  1. VideoCapture()方法的参数就是视频文件
  2. 循环中通过read不断地去读视频的每一帧,再通过imshow显示出来
  3. 最后if语句代表按q可以退出程序
############打开视频############
cap=cv2.VideoCapture("Resources/video.mp4")
while True:
    success,img=cap.read()
    cv2.imshow("Video",img)
    if cv2.waitKey(1)&0xFF==ord('q'):
        break

我们来看下效果,视频播放速度会很快:

3、网络摄像头

如果是调用笔记本自带的摄像头,参数就为0;如果是外置USB摄像头,参数就为1。

接着,设置一下摄像头窗口的宽高,参数3就代表的宽度,数值设置为640,参数4代表的高度,数值设置为480,参数10代表的亮度,数值设置为100。

while循环中的和上面的读取视频是一样的,没有改动,作为模板。

cap=cv2.VideoCapture(0)
cap.set(3,640)#宽
cap.set(4,480)#高
cap.set(10,100)#亮度
while True:
    success,img=cap.read()
    cv2.imshow("Video",img)
    if cv2.waitKey(1)&0xFF==ord('q'):
        break

我们运行看下效果,可以看到笔记本前置摄像头打开(我拿本书挡住了,防止帅到你们):

OK,第一节的内容还是非常简单的,主要是让大家熟悉下OpenCV最基础的应用。眼过千遍不如手过一遍,快去动手敲一遍吧~💘

以上是关于关于opencv读取图片、视频总是窗口一闪不出图、视频的问题的主要内容,如果未能解决你的问题,请参考以下文章

设置窗口可调整大小Python_OpenCV读取视频和图片

opencv 图片读取和视频读取

对opencv读取的图片进行像素调整(1080, 1920) 1.cv2.VideoCapture(构造图片读取) 2.cv2.nameWindow(构建视频显示的窗口) 3.cv2.setWindo

OpenCV:01图片&视频的加载显示

python+openCV (入门级)车道线检测 学习笔记

OpenCV做图片人脸识别和视频人物识别