最近滴日子相当充实啊..关于视频录制的帧率问题、opencv中文字以及部分很主观的算法唠嗑[2011.8.4]

话说那天的视频帧率问题,后来事实证明我那个想法不行,虽然不知道为什么。后来用了定时器测帧率fps,然后1000/fps得到视频应该写入的帧率。

由于CPU要消耗时间,所以再减少一点。再调的时候突然发现自己多犯傻啊,直接测这帧跟下一帧的时间间隔不就好了嘛。

但是帧率是动态的,并不稳定。所以我取三次,它们之间差小于阈值(如果比较稳定比如5,浮动一直很大设个10也行)的时候就将fps算成3者的平均值。

如果相差大就重测。但是重测也要有上限,我设了5次。其实如果一直超过5次说明摄像头浮动很大,或者说阈值设小了。等测完5次其实也已经没有因为刚启动造成的不稳定了。

接着测试,比之前好了很多,甚至有一次1S都没差。反正后来就这么着了。

之后是视频摘要。考虑的是背景剪除,系统自带有MoG的例子,我只是恰好看到所以就用了。结果一直出不了背景图像。后来据说是2.2的例子没图像,也许从2.0就开始了。

后来是均值漂移、codebook。只是运行了下发现还是均值漂移比较好用。于是动手写,其实里面添加时间、大于阈值的帧删去不难但很烦,不过也好在不久就搞定了。

给BOSS示范的时候,BOSS问,你这用的什么算法,我傻了下我说不清楚啊,反正有现成的。后来这两天仔细看了下才知道那是均值漂移,顺便又试了下codebook,不过那个还真不合适,或者需要做优化。又看了几篇论文,牛的看不懂,水的没意义,还是一头雾水。不过还是知道了几个算法。证明之类的没仔细看,主要还是看它们优缺点,其实这样很主观,人家论文作者爱谁谁就优秀了呗。但是,我还是依然这么看了。毕竟人家还是有一定依据的。明天后天什么的争取再看下其它的做检测的优化的算法。最好能试下效果。

这部分结束就要做下一部分了。

其实吧,我做的还真挺简单,视频摘要核心的也就论坛几行代码就搞定了。所以,力求有点质量吧。

还有最大成就感的是今天终于把opencv中文字给搞定了。先是试了FreeType的那种方法,甚至还下到了原版的论文。但是,尝试失败,总是在加载字库的时候错误。

后来转战那种MFC下面的,那个人是用了上面方法不成功的,但是,我,还是失败了,费了好久。

期间收获:

1.CString str转char* ch:ch=(char*)(LPCTSTR)str; 突然发现没过多久啊,已经记不清了,貌似是这样,或者中间再通过const char*,反正网上多数给一种,结果我发现要动用两个才能转换。

2.char *ch转 CString str: str.Format(_T"%s",ch);

貌似跑题了,重新说中文的事儿。

就是前面说的论文的主人重新把常用功能封装了下,有个demo,然后我试了下,稍微修改下可以跑,然后移植到MFC下,很NICE。

不过作者弄了不少功能,有很多还没实现。不过写字是够了的。有字儿就是王道。

终于可以安心睡了哈哈。

明天争取把优化的算法再找几个,然后选一个合适的来用。我想我还没到自己来优化的境界。慢慢来吧。

猜你喜欢

转载自blog.csdn.net/tutuguaiguai0427/article/details/6661263