视频处理

实验一

环境:
opencv2.0
vs2008

希望能够通过opencv打开一段视频,把视频变成图片
代码
修改了别人的一段代码:

#include <iostream>
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>

// 使用标准命名空间
using namespace std;

// 初始化进度条的位置
int g_slider_position = 0;

CvCapture* g_capture = NULL;

// 定义回调函数用于播放进度的控制
void onTrackbarSlide( int pos )
{
    cvSetCaptureProperty( g_capture, CV_CAP_PROP_POS_FRAMES, pos );
}


int main(int argc, char** argv )
{
    // 建立播放窗口
    cvNamedWindow( "Video Test ", CV_WINDOW_AUTOSIZE );

    // 捕捉视频文件
    g_capture = cvCreateFileCapture( argv[1] );

    // 读取、显示视频文件的帧数
    int frames = (int) cvGetCaptureProperty( g_capture, CV_CAP_PROP_FRAME_COUNT );
    cout << "frames = " << frames << endl;
    // 建立进度条
    if( frames != 0 )
        cvCreateTrackbar(
            "Position",
            "Video Test",
            &g_slider_position,
            frames,
            onTrackbarSlide
        );

    // 开始播放视频
    IplImage* frame;

    while(1)
    {
        frame = cvQueryFrame( g_capture );
        if( !frame ) break;
        cvShowImage( "Video Test", frame );

        // 若按下 ESC 键,则退出程序
        char c = cvWaitKey(33);
        if( c==27 ) break;
    }
    // 释放所捕捉的视频文件,关闭窗口
    cvReleaseCapture( &g_capture );
    cvDestroyWindow( "Video Test" );

    return 0;
}

编译没有通过:
cannot open file 'cvhaartraining.lib'
目前不知道如何解决。

注:
1 在菜单Project -> Properties -> Configuration Properties -> Linker –> Input 的 additional dependencies中加入 cxcore200.lib cv200.lib highgui200.lib opencv_ffmpeg200.lib 等库。opencv_ffmpeg200.lib 库可以支持多数主流视频文件格式(包括 rm、rmvb、flv 等)。
2 新建工程,若要使用OpenCV,也需要在 " Project / Properties / Configuration Properties / Linker / Input / Additional Dependencies / " 中添加所需的lib文件
其中,debug版的程序应添加*d.lib文件,release版的程序应添加*.lib文件(没有d后缀)
例如,在debug版中填写:
" cv200d.lib cvaux200d.lib cvhaartraining.lib cxcore200d.lib cxts200d.lib highgui200d.lib ml200d.lib opencv_ffmpeg200d.lib ”
在release版中填写:
" cv200.lib cvaux200.lib cvhaartraining.lib cxcore200.lib cxts200.lib highgui200.lib ml200.lib opencv_ffmpeg200.lib "

实验二

环境:
opencv2.0
vs2008

重新安装了opencv2.0
然后用,就是opencv中文网上的一段载入图片的代码,似乎有溢出错误,总之得不到良好的结果。

注:
如果出现错误cmd什么什么,记不住了,可以如下解决
In the Options go into Projects and Solutions -> VC++ Directories page and place this rows:
$(SystemRoot)/System32
$(SystemRoot)
$(SystemRoot)/System32/wbem
适用VC8的各种工程项目(包括移动设备的项目),如果在加了以后还出现这样的错误提示,将上面的三句删除掉,重新加一次就可以。

想法
从实验一和实验二中得出结论是,opencv2.0可能有些问题,因为以前曾经用过其他版本的opencv,是没问题的。明天尝试在vs下安装opencv的其他版本,并进行实验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值