GTK渲染摄像头图像数据

1.gdk简介       绘图工具集(gdk,graphics drawing kit)是在gtk+ 和特定操作系统的应用编程接口(api,application program interface)之间的低级绘图制层—— linux的api是xlib。由于gtk和机器的api之间没有直接接口,移植gtk+就成为移植glib和gdk的问题。gdk提供像元的绘制能力以及低层的窗口建立和处理能力。对许多应用来说,使用构件时最方便的,但是,如果你想用gtk+编写模拟时钟的应用程序,由于它没有绘制时钟表面的能力,实现这样的任务就有困难了。使用带gdk的绘图区(drawing area)构件代替封装(canned)的构件,即可绘制出任何你需要绘制的内容。
2.绘图子程序       使用gdk子程序编写应用程序并不比直接使用xlib好多少。幸运的是,gtk+提供一种构件,即绘图区(drawing area)构件。你可以用它来建立需要的手工绘图的应用。可以像使用其它gtk+构件一样使用绘图区构件。而且,使用该构件建立依赖图形的应用也足够灵活,这种方法的优点是可以在同一应用中使用gtk+和gdk。gtk+提供菜单、工具条和其它构件,支持在绘图区构件内进行绘图,而gdk则提供用于绘制线、框、像元、圆和其它图形的api。
      每个gdk子程序至少取两个参数:可绘制区(gdkdrawable)和gdkgc。gdkdrawable表示可以在他上面进行绘图的区域,gdkgc包函数颜色和字体信息以及其它绘图信息。
3.linux下摄像头编程       v4l2是video for linux2的简称,为linux中关于视频设备的内核驱动。在linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video*下,如果只有一个视频设备,通常为/dev/video0。
      v4l2是针对uvc免驱usb设备的编程框架 ,主要用于采集usb摄像头等。
 摄像头框架编程步骤  (1)打开摄像头设备(/dev/video0 、/dev/video1 )。
 (2)设置图像格式:vidioc_s_fmt(视频捕获格式、图像颜色数据格式、图像宽和高)。
 (3)申请缓冲区:vidioc_reqbufs(缓冲区数量、缓冲映射方式、视频捕获格式)。
 (4)将缓冲区映射到进程空间:vidioc_querybuf(要映射的缓冲区下标、缓冲映射方式、视频捕获格式)。
 (5)将缓冲区添加到队列中:vidioc_qbuf(映射的缓冲区下标、缓冲映射方式、视频捕获格式)。
 (6)开启摄像头采集:vidioc_streamon (视频捕获格式)。
 (7)从采集队列中取出图像数据vidioc_dqbuf,进行图像渲染。


宁德时代市值跌破万亿元 曝宁德时代即将发布全新动力电池技术
织物表面抗湿性能测试仪喷淋式的特点介绍
为对付小米MIX2华为派出华为荣耀Note9,孰强孰弱?
Adapter在finetune全模型参数的效果
realme V15斩获京东手机单品和品牌销量双冠军
GTK渲染摄像头图像数据
保护智能家居中的智能插座
扩展标准运算放大器的输入电压范围
统信软件发布国产操作系统,未来要实现“三个第一”
CAN-RS232通信转换模块的设计与实现
高通骁龙805处理器:主频高达2.5GHz支持4K
华为:鸿蒙系统和HMS是面向全球开源的,将服务全球用户
天能储能电池杀入北美市场
您需要了解的电动车充电桩方案设计与核心EliteSiC功率器件
三相三电平PFC电路的工作原理
阿里巴巴为什么对物联网这么重视?
利用英特尔傲腾固态盘创建核心数据库容灾架构
FPGA几大厂商介绍,你知道的有哪些呢?
PicoZed SDR SOM Z7035/AD9361 开发套件
换热站远程监控系统解决方案的特点及应用分析