FrameBuffer

这篇博客主要介绍了在没有使用openCV等界面库的情况下,如何借助FrameBuffer从USB摄像头采集数据并在屏幕上显示。FrameBuffer类似/dev/mem,允许直接读写显卡内存。在配置过程中遇到分辨率设置的问题,通过修改grub的启动配置和使用nomodeset参数避免加载Nvidia开源驱动nouveau,转而使用vesafb。但未明确这样是否会带来其他问题。
摘要由CSDN通过智能技术生成

    在做USB摄像头采集数据并显示到屏幕上的时候,由于之前没有学过openCV之类的界面编程,所以只能使用FrameBuffer进行显示了。下面对FrameBuffer进行一下总结。

    FrameBuffer的作用我的理解和/dev/mem的作用的是相似的。/dev/mem是一个pcie总线所有设备的用户层驱动,即/dev/mem能操作pcie总线设备中的任何内存,可以对其进行读写。FrameBuffer是显卡内存的一个映像,即我们可以通过FrameBuffer设备对显卡进行直接读写操作。

    那么,这里有一个问题是,既然是通过FrameBuffer对显卡进行操作的,那么是不是就不用到显卡的实际驱动了,我的理解这里是没有用到显卡的实际驱动的,这在后面会有验证。

    1,在设置Framebuffer的过程中,出现了一个问题,就是设置命令行界面的分辨路。晚上有很多教程,对于centos6,只需要在grub的启动控制文件/boot/grub/menu.lst里添加vga=?就可以实现:    

  kernel /vmlinuz-2.6.32-573.22.1.e16.x86_64 ro root =/dev/mapper/VolGroup-lv_root....quiet vga=0x31B
    这里vga=0x31B本意是设置命令行终端的分辨率为1280x1024x32,但是在我使用的这个主机中,一直不成功,直到后来我查看/var/log/messages文件看启动日志,在日志里面有一行:  

  fb: conflicting fb hw 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值