这个比较难,你可以上Dat、Avi的文件结构查一下
或者你可以模拟播放第一帧,然后再截图

解决方案 »

  1.   

    rm、rmvb的可能比较难处理了!
      

  2.   

    好像视频文件只有几帧是完整的图片,其他的都是通过运动轨迹算出来的,比较困难,AVI好像强点
      

  3.   

    OpenCV是一个开源计算机视觉库,里面有从视频获取帧的函数。
      

  4.   

    谢谢楼上的老大,但我下载了OpenCV,打开一看,很多个项目和函数啊,你可以告诉我从视频获取帧的函数大概是哪个吗?最重要的那个就行了.它调用的函数就我去寻找吧.
      

  5.   

    lanphaday (恋花蝶) 
    你还记得我吗?我QQ有你的,我以前叫 void。
      

  6.   

    我还记得void,但csdn的的id就的确不记得了,呵呵,有空的时候在QQ上发个信息给我啊,谢谢了,我还要完成这个问题呢,你给的代码是从摄像头取得图像,我想要从视频文件取得图像,比如avi里的帧转为bmp
      

  7.   

    如果从摄像头上面通过VFW或者WDM来保存一帧图片,有这样的函数。
    如果你想从视频文件来提取图片,用抓屏的方法不行,因为对视频文件,抓不到。
    用MCIWnd窗口类及AVIFILE×××开头的函数好像只能读写AVI文件(其它的文件一样的!)。也提取不出图像(我这么认为!也许我搞错了)。
    对AVI文件的格式,网上有介绍的,楼主可以到网上找找,这样可能可以从中提取出图片来。
      

  8.   

    cvCaptureFromAVI(...)
    其他同.如果是开发软件,用第三方库会实际很多,如果是自己研究算法,那又不同.
      

  9.   

    sboom,,你的QQ名是哪个啊?要不你发个信息给我吧,,我们联系联系.呵呵,真的很感谢你.
      

  10.   

    首先需要解码,一般使用DirectShow
    Grabber可以得到某Sample数据,代码在SDK的Samplesreal的解码可通过调用real提供的对应的dll来实现
    详情代码见realsplitter filter
    (如果不想看太多代码,注册该Filter,DirectShow即可直接调用,同上)
      

  11.   

    使用DirectX提供的接口
    codeproject有相应的例子