原来基于vs和msdn一起读视频,结果发现现在的函数不能用了。找不到合适的解码器了,只好转战opencv。

具体怎么用,网上查吧,不过opencv读视频的例子,可以见这个。

http://blog.csdn.net/thefutureisour/article/details/7530344

作者不允许随便转载,只好在这里mark一下。

http://www.cnblogs.com/carekee/articles/2177822.html#!comments

把cv得到的图片转成bitmap。需要把图片内容完全拷贝,包括头文件信息,同时要坐标索引一致。

本来想用原来的程序跑一下的,原来读视频和图像时是用的vfw和mfc的东西,现在想跑起来原来的代码发现读视频时vfw的库函数不能用了,找了几个版本的都不行,装了暴风影音还是不行,解码器估计有问题。想着彻底解决这个问题,就改成opencv吧,可读视频是读进来了,但是读出来每一帧的格式和原来不一样了。原来是bitmap什么的格式,现在是opencv的mat格式,因此除了读进来的地方改成opencv之外,图像处理的主体部分也需要改动。于是现在就有两种思路:

1. 就按照opencv的模式来走,读进来后,就按照其格式走,把代码中凡是用到bitma的地方都改一下,这个工作量还是很大的,而且感觉容易出错。

2. 把opencv读进来的图像,写一个转换接口,转为bitmap的格式,然后其它地方不用改动。这种方式只需要在每一帧读进来后,改一下格式,然后别的地方都不动。

http://bbs.ednchina.com/BLOG_ARTICLE_205865.HTM

http://stackoverflow.com/questions/8501753/how-to-display-opencv-mat-on-mfc-view

http://opencv-users.1802565.n2.nabble.com/Convert-IplImage-to-Bitmap-td3784378.html

这里提到,怎么opencv读的图像在mfc里显示,也是把图像内容赋值给bmp,然后再显示,具体可以见里面的代码。

http://www.cnblogs.com/HappyXie/archive/2011/03/10/1980059.html

这里是怎么把bmp转成opencv的格式。

因此,为了保险起见,采用第二种方式,在以后的使用中,一定要用opencv走遍天下。

open cv & vs的更多相关文章

  1. 几个常用的CV知识点

    刚结束一段实习,图像算法工程师.总结一下图像算法的几个基本的操作,图像操作算子各式各样,各显神通,光是滤波filter这一个专题就可以有很多的技巧和功能. 我从做过的两个小项目入手, 简单介绍一下该项 ...

  2. 基于Emgu CV的人脸检测代码

    这个提供的代码例子是Emgu CV提供的源码里面自带的例子,很好用,基本不需要改,代码做的是人脸检测不是人脸识别,这个要分清楚.再就是新版本的Emgu CV可能会遇到系统32位和64位处理方式有区别的 ...

  3. 自己积累的一些Emgu CV代码(主要有图片格式转换,图片裁剪,图片翻转,图片旋转和图片平移等功能)

    using System; using System.Drawing; using Emgu.CV; using Emgu.CV.CvEnum; using Emgu.CV.Structure; na ...

  4. 挣值管理(PV、EV、AC、SV、CV、SPI、CPI) 记忆

    挣值管理法中的PV.EV.AC.SV.CV.SPI.CPI这些英文简写相信把大家都搞得晕头转向的.在挣值管理法中,需要记忆理解的有三个参数:PV.AC.EV.     PV:计划值,在即定时间点前计划 ...

  5. Emgu.CV 播放视频

    using Emgu.CV; using System; using System.Drawing; using System.Threading; using System.Windows.Form ...

  6. Emgu.CV/opencv 绘图 线面文字包括中文

    绘图很简单 Emgu.CV.Image<Bgr, Byte> image;   使用image.Draw可以画各种图形和文字包括英文及数字,不支持中文   CircleF circle = ...

  7. yuv420p转为emgucv的图像格式Emgu.CV.Image<Bgr, Byte>

    GCHandle handle = GCHandle.Alloc(yuvs, GCHandleType.Pinned); Emgu.CV.Image<Bgr, Byte> image = ...

  8. "Emgu.CV.CvInvoke”的类型初始值设定项引发异常 解决办法

    系统win7 32位,只在这一台电脑上出现这种问题,已知VS编译是X86,在数台电脑上测试都正常. 后来把opencv的dll路径例如 E:\...\x86  加入到系统环境变量中就正常了. emgu ...

  9. EmguCV控件Emgu.CV.UI.ImageBox及C# picturebox显示图片连续刷新出现闪烁问题

    在上一篇里,EmguCV(OpenCV)实现高效显示汉字及叠加  实现了视频叠加及显示,但存在问题,就是 Emgu.CV.UI.ImageBox及C# picturebox显示图片时都会出现闪烁,尤其 ...

  10. 国内外从事CV相关的企业

    提示:本文为笔者原创,转载请注明出处:blog.csdn.net/carson2005 经常碰到朋友问我国内从事计算机视觉(CV)领域的公司的发展情况,产品情况,甚至找工作等问题,这里,我给出自己收集 ...

随机推荐

  1. Mybatis学习笔记4 - 获取自增主键的值

    获取自增主键的值:mysql支持自增主键,自增主键值的获取,mybatis也是利用statement.getGenreatedKeys():useGeneratedKeys="true&qu ...

  2. anaular js loadding效果

    以前用的jquery的时候,用ajax实现,比较好弄,下面是angularjs的方式: //body下面增加div <div data-loading></div> //dir ...

  3. 【Ionic】---Using Local Notifications In Your Ionic Framework App

    Using Local Notifications In Your Ionic Framework App 配置好ng-cordova先 <script src="lib/ngCord ...

  4. javascript中的this使用场景

    刚接触js不久时对this总是感到无比迷茫,以下是来自js设计模式与实践里的总结 this总是指向一个对象,有时指向全局对象,有时指向构造对象,有时指向DOM对象 1. 作为对象的方法调用 做为对象的 ...

  5. 存储过程 返回值 procedure return values

    存储过程有三种返回: 1. 用return返回int型数据 2. 用返回参数返回结果,可以返回各种数据类型(通过游标来循环查询结果每一行) 3. 直接在存储过程中用select返回结果集,可以是任意的 ...

  6. 树莓派直连线连接PC

    刚入手树莓派一天不到,SSH树莓派一直用的是路由+无线网卡的配置.想到明天就要出差了,本想把树莓派也带去,可宾馆的房间只有一个网口,通常都是兄弟们连接小型无线路由用的,连接树莓派似乎成了一个难题.于是 ...

  7. 排序 & 常用算法

    一.快速排序QuickSort 快速排序和归并排序都使用分治法来设计算法,区别在于归并排序把数组分为两个基本等长的子数组,分别排好序之后还要进行归并(Merge)操作,而快速排序拆分子数组的时候显得更 ...

  8. 拿到返回值,Callable示例

  9. Java-Excel写与读

    很多时候,一个软件应用程序需要生成Microsoft Excel文件格式的报告.有时,一个应用程序甚至希望将Excel文件作为输入数据.例如,一个公司开发的应用程序将财务部门需要所有输出生成自己的Ex ...

  10. CSS列表(新闻列表、导航条)常见写法

    以下面这个UL做演示 <ul> <li><a href="#"><span>2014-4-1</span>教育</ ...