MyException - 我的异常网
当前位置:我的异常网» C++ Builder » 怎么高性能连续显示图像

怎么高性能连续显示图像

www.MyException.Cn  网友分享于:2014-08-27  浏览:0次
如何高性能连续显示图像
         有一个项目时用摄像头或视频采集卡,调用API获取一帧一帧的图像,然后在C++Builder 窗体上用TImage控件显示出来。
从现在查到的资料看,只有用Scanline技术,把采到的图像赋值给Bitmap,然后更新TImage。
        但是这样只能实现1秒6帧的速度,快的话,CPU占用率很高。
        有没有人做过类似的? 或者知道原理的说一下。 使用什么技术能做到高速显示?   
        希望达到1秒30-50帧。 CPU占用率不要升太多。
非常感谢!!

查了DirectShow的API,还有自带的MediaPlayer控件爱你,它是要我把AVI文件喂给它,然后把Panel控件句柄告诉它,它能在Panel上播放,但是这不符合我的要求。

------解决方案--------------------
楼主的问题不在于绘制本身,而在于数据倒手次数太多。
我的意见,应该使用SetDIBitsToDevice从采集卡采集到的内存buffer直接刷到你的显示窗口,在目前的电脑性能下,很轻松实现100+ fps的显示(实际上300+都不夸张)。我在上学的时候做过一个采集卡的动态视频(从一个模拟信号摄像头输入)显示软件,512x512的24位图像,用GDI绘制都可以达到50+ fps,用DX7的DD则达到70+ fps,是在很古老的PentiumII 300MHz+i740显卡的电脑上实现的(玩电脑有点历史的人应该知道这是什么时代的)。

------解决方案--------------------
引用:
楼主的问题不在于绘制本身,而在于数据倒手次数太多。
我的意见,应该使用SetDIBitsToDevice从采集卡采集到的内存buffer直接刷到你的显示窗口,在目前的电脑性能下,很轻松实现100+ fps的显示(实际上300+都不夸张)。我在上学的时候做过一个采集卡的动态视频(从一个模拟信号摄像头输入)显示软件,512x512的24位图像,用GDI绘制都可以达到50+ fps,用DX7的DD则达到70+ fps,是在很古老的PentiumII 300MHz+i740显卡的电脑上实现的(玩电脑有点历史的人应该知道这是什么时代的)。


完全统一这个观点,把数据放入内存的指定区域,显示控件通过刷新界面异步显示内存中的数据

就是采集部分只管写内存,显示部分只管显示

另外一点是,这种更新极快的控件不要使用长时间存储的图像容器类控件来显示,这种控件内部的机制会延缓图像的显示并占用太多资源
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

先要弄清楚你的瓶颈在哪里?
是接收图像的瓶颈吗?你一秒钟能从设备上读出多少帧图像??
是显示图像的瓶颈吗?如果你一秒钟能够读取30-50帧图像,那么显示的话,就用DX吧,应该行。。


根据之前的数据,我倾向于把瓶颈定位在“刷新图像的技术”。
等我详细再测一下。
其实我的目标很简单,就是把接收的数据 刷新到图形界面上。
好吧,我查查DX的相应API的使用。谢谢啦。


DX方式,我找了一个例子,他是全屏显示的,这个不符合要求。我要显示在Panel上的。因为是双Panel显示的。不能一个占据整个屏幕。


全屏的例子你都找到了,改成显示在panel上还不简单么。。。。
1.把dx的级别调整到窗口模式
2.将窗口模式的窗口句柄参数,指向到panel即可。。。。

文章评论

Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
10个调试和排错的小建议
10个调试和排错的小建议
程序员和编码员之间的区别
程序员和编码员之间的区别
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
鲜为人知的编程真相
鲜为人知的编程真相
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
代码女神横空出世
代码女神横空出世
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
程序员必看的十大电影
程序员必看的十大电影
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
Java程序员必看电影
Java程序员必看电影
我是如何打败拖延症的
我是如何打败拖延症的
程序员的鄙视链
程序员的鄙视链
漫画:程序员的工作
漫画:程序员的工作
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
 程序员的样子
程序员的样子
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
总结2014中国互联网十大段子
总结2014中国互联网十大段子
一个程序员的时间管理
一个程序员的时间管理
旅行,写作,编程
旅行,写作,编程
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
程序员都该阅读的书
程序员都该阅读的书
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
编程语言是女人
编程语言是女人
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
每天工作4小时的程序员
每天工作4小时的程序员
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
我的丈夫是个程序员
我的丈夫是个程序员
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
那些争议最大的编程观点
那些争议最大的编程观点
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
如何成为一名黑客
如何成为一名黑客
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有