1
imn1 2017-11-05 16:57:41 +08:00
没看明白
一个像素就有 256*256*256 bits 了,你这个还不够一个像素呢 |
3
shoujiaxin 2017-11-05 18:26:10 +08:00 via iPad
用 Qt 做过类似的,我的图像是 80*60 的,显示的时候放大到 480*360,但是帧率低,30 左右,我是直接绘点,但是感觉现实图像的时候拖动窗口会有卡顿。如果不保存的话没必要处理成 bmp 吧,Qt 处理和显示图像效率好像不高
|
5
tuduweb OP @shoujiaxin 那用其他的图形库怎么样呢……
|
7
shoujiaxin 2017-11-05 21:04:06 +08:00 via iPad
@tuduweb 其他库就没有研究过了,因为只是做个小工具,就怎么方便怎么来了
|
8
rainex 2017-11-05 21:05:04 +08:00
对 pyqt 不太了解,不过建议楼主做下测试,我是倾向于 bmp 可以更快的
首先,不需要非得是 bmp 文件,而是位图对象即可吧?先减少无畏的 io 时间 其次,ui 窗口上贴图乃至动画的方式,一般有高级的有底层的,底层的一般的内部实现都是直接调用 opengl 或 dx,让 gpu 直接处理,很快,而高级的一般是 cpu 再计算再处理,效率肯定要差不少,就好比 macos/ios 里 View 绘制用不用 CALayer。就贴图来讲,属于很远古的显卡就支持的功能,最早版本的 opengl 或 dx 就支持,pyqt 只要设计者合格,我相信会提供接近底层的贴图方法,那效率就应该远高于画像素,代码里自己折腾画图,跟 gpu 自己操作显存做与或运算来处理那效率差非常多的,当然,你的图并不大,或许目前主流电脑都可以满足你需求,我只是说我的经验和思路 |
9
imn1 2017-11-05 21:09:38 +08:00
|
14
GeruzoniAnsasu 2017-11-06 10:15:03 +08:00
pyqt 不懂
但 qtc++里 QImage::Format_Mono 和 QImage::Format_MonoLSB 可定义以 bit 表示 pixel 的图像 应该可以直接将原始数据流转成 QImage 然后显示 参考文档 http://doc.qt.io/qt-5/qimage.html#Format-enum 另外 50fps 帧率很高了,可能会考虑上 opengl,在 qt 里用它自己封装的 opengl 类不复杂,但 pyqt 可能编译的时候没有带 opengl 模块,这个自己斟酌吧 |
15
tuduweb OP @GeruzoniAnsasu 谢谢…我去看一下这个函数…
我昨晚想了想上位机刷新图像这么快看不出,应该 25fps 左右就差不多了。我再试试…… |