使用OpenCV播放视频文件(C/C++ API比较)

OpenCV库很强大,不仅能够显示图片,还能解码显示各种格式的视频文件,而且提供的API接口也很多,包括C、C++、Python。下面比较一下分别使用C和C++播放一段视频文件的实现:

C语言实现

$ cat test_video.c
#include 
#include 
#include 


int main(int argc, char **argv)
{
    CvCapture *cap;
    IplImage *frame;

    cap = cvCaptureFromFile("./kakou.mp4");

    printf("cap = %p\n", cap);
    while ((frame = cvQueryFrame(cap))) {
        //printf("frame = %p\n", frame);
        cvShowImage("MyTest", frame);
        cvWaitKey(33);
    }

    return 0;
}
$ gcc -o test_video test_video.c -lopencv_core  -lopencv_imgproc -lopencv_highgui

C++语言实现

$ cat test_video.cpp
#include 
#include 

using namespace std;
using namespace cv;
int main(void){

    //打开视频文件
    VideoCapture capture("./kakou.mp4");

    //isOpen判断视频是否打开成功
    if(!capture.isOpened())
    {
        cout<<"Movie open Error"<

来一个效果图:

使用OpenCV播放视频文件(C/C++ API比较)_第1张图片
image.png

你可能感兴趣的:(使用OpenCV播放视频文件(C/C++ API比较))