opencv播放视频

建立一个display_video目录,源文件为display_video.cpp,所有CMakeLists.txt为:

project(display_video)
find_package(OpenCV REQUIRED)
add_executable(display_video display_video)
target_link_libraries(display_video ${OpenCV_LIBS})

display_video.cpp的内容为:

#include "highgui.h"
#include "cv.h"

using namespace cv;

int main(int argc, char **argv)
{
    cvNamedWindow("Example2", CV_WINDOW_AUTOSIZE);
    CvCapture *capture = cvCreateFileCapture(argv[1]);
    IplImage *frame;
    while(1)
    {
        frame = cvQueryFrame(capture);
        if (!frame)break;
        cvShowImage("Example2", frame);
        char c = cvWaitKey(33);
        if (c==27)break;
    }
    cvReleaseCapture(&capture);
    cvDestroyWindow("Example2");

}

编译,运行,便可以播放AVI视频,但帧率是固定的,不完整,以后再修改。

 

### 回答1: 要在 OpenCV播放视频,需要使用 VideoCapture 和 VideoWriter 两个类。以下是一个简单的示例代码: ```python import cv2 # 打开视频文件 cap = cv2.VideoCapture('my_video.mp4') # 检查是否成功打开 if not cap.isOpened(): print("无法打开视频文件") # 获取帧率 fps = cap.get(cv2.CAP_PROP_FPS) # 创建窗口 cv2.namedWindow('Video', cv2.WINDOW_NORMAL) # 循环读取每一帧并显示 while cap.isOpened(): ret, frame = cap.read() if ret: cv2.imshow('Video', frame) if cv2.waitKey(int(1000/fps)) & 0xFF == ord('q'): break else: break # 释放资源 cap.release() cv2.destroyAllWindows() ``` 在这个示例中,我们首先打开视频文件并检查是否成功打开。然后,我们获取视频的帧率,并创建一个窗口来显示视频。接下来,我们循环读取每一帧并显示,直到视频播放完毕或用户按下 'q' 键停止播放。最后,我们释放资源并关闭窗口。 注意:在使用 OpenCV 播放视频时,可能会出现一些兼容性问题,具体取决于你的操作系统和 OpenCV 版本。如果遇到问题,可以尝试更新 OpenCV 或更换操作系统。 ### 回答2: OpenCV是一个开源的计算机视觉库,它提供了许多功能来处理图像和视频。要在OpenCV播放视频,首先需要确保你已经安装了OpenCV库并设置好了运行环境。 步骤如下: 1.导入OpenCV库: ```python import cv2 ``` 2.打开视频文件: ```python video = cv2.VideoCapture('video.mp4') # video.mp4为你要播放的视频文件名 ``` 3.检查视频是否成功打开: ```python if not video.isOpened(): print("视频文件无法打开") exit() ``` 4.读取视频帧并播放: ```python while True: ret, frame = video.read() if not ret: print("视频已结束") break cv2.imshow('Video', frame) # 显示帧 # 设置q键为退出键 if cv2.waitKey(25) & 0xFF == ord('q'): break ``` 5.释放资源: ```python video.release() cv2.destroyAllWindows() ``` 在以上代码中,第4步的循环不断读取视频帧,并使用`cv2.imshow()`方法显示每一帧。`cv2.waitKey(25)`等待25毫秒来检测键盘输入,如果按下的键是'q'键,则退出循环。 最后,释放视频资源并关闭窗口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值