天嵌二次封装库使用手册  V1.0
tq_uvc2.h 文件参考
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
#include <stddef.h>
#include <sys/mman.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <asm/types.h>
#include <linux/videodev2.h>
tq_uvc2.h 的引用(Include)关系图:

浏览源代码.

结构体

struct  videobuffer
 视频缓冲区结构体 更多...
 
struct  uvc_fd
 uvc设备信息结构体 更多...
 

函数

int uvc2_check (char *dev)
 检测摄像头是否是 usb 摄像头 更多...
 
int uvc2_init (struct uvc_fd *v, const char *devname, int width, int height)
 初始化 usb 摄像头 更多...
 
int uvc2_start_capturing (struct uvc_fd *v)
 开启摄像头采集 更多...
 
int ucv2_stop_capturing (struct uvc_fd v)
 停止摄像头采集 更多...
 
int uvc2_get_buffsize (struct uvc_fd v)
 获取采集数据缓存大小 更多...
 
void * uvc2_capturing (struct uvc_fd *v)
 获取采集到的缓存 更多...
 
int uvc2_release_capturing (struct uvc_fd v)
 释放采集到的缓存 更多...
 
void uvc2_close (struct uvc_fd v)
 关闭摄像头 更多...
 
int YUY2ToRGB (unsigned char *src, unsigned char *rgb, int width, int height, int bits)
 将YUV格式转RGB格式(YUY2是YUV422格式,排列是(YUYV),是1 plane) 更多...
 
int convert_yuv_to_rgb_buffer (unsigned char *yuv, unsigned char *rgb, unsigned int width, unsigned int height)
 将YUV格式转RGB格式(YUY2是YUV422格式,排列是(YUYV),是1 plane) 更多...
 

详细描述

作者
zhengchuangyong (zheng.nosp@m.chua.nosp@m.ngyon.nosp@m.g@em.nosp@m.bedsk.nosp@m.y.ne.nosp@m.t)
版本
1.0
日期
2021-09-24
修改日志:
Date Version Author Description
2021-09-24 1.0 zhengchuangyong 第一次发布,对usb摄像头一些基本操作的封装.

函数说明

int convert_yuv_to_rgb_buffer ( unsigned char *  yuv,
unsigned char *  rgb,
unsigned int  width,
unsigned int  height 
)

将YUV格式转RGB格式(YUY2是YUV422格式,排列是(YUYV),是1 plane)

参数
yuv输入的YUV值
rgb转换后RGB值
widthYUV格式的宽
heightYUV格式的高
返回
int 成功返回0
int ucv2_stop_capturing ( struct uvc_fd  v)

停止摄像头采集

参数
v摄像头操作句柄
返回
int 成功返回0,关闭采集失败返回-1
void* uvc2_capturing ( struct uvc_fd v)

获取采集到的缓存

参数
v摄像头操作句柄
返回
void* 成功返回采集到的数据缓存(!NULL),失败返回NULL
int uvc2_check ( char *  dev)

检测摄像头是否是 usb 摄像头

参数
dev摄像头设备名称,例如:”/dev/video0”,”/dev/video2”
返回
int 为0表示摄像头不是 usb 摄像头或不存在,为1表示摄像头是 usb 摄像头
void uvc2_close ( struct uvc_fd  v)

关闭摄像头

参数
v摄像头操作句柄
int uvc2_get_buffsize ( struct uvc_fd  v)

获取采集数据缓存大小

参数
v摄像头操作句柄
返回
int 成功返回采集缓存数据的大小(>0),失败返回0
int uvc2_init ( struct uvc_fd v,
const char *  devname,
int  width,
int  height 
)

初始化 usb 摄像头

参数
v用于返回摄像头操作句柄
devname摄像头设备名称,例如:”/dev/video0”,”/dev/video2”
width
height
返回
int 成功,返回设备文件描述符(>0) -1:参数传递错误 -2:打开文件失败 -3:内存申请失败
int uvc2_release_capturing ( struct uvc_fd  v)

释放采集到的缓存

参数
v摄像头操作句柄
返回
int 成功返回0,释放缓存失败返回-1
int uvc2_start_capturing ( struct uvc_fd v)

开启摄像头采集

参数
v摄像头操作句柄
返回
int 返回 0 表示开启成功, -1: 传递参数错误 小于-1:其他错误
int YUY2ToRGB ( unsigned char *  src,
unsigned char *  rgb,
int  width,
int  height,
int  bits 
)

将YUV格式转RGB格式(YUY2是YUV422格式,排列是(YUYV),是1 plane)

参数
src输入的YUV值
rgb转换后RGB值
widthYUV格式的宽
heightYUV格式的高
bits几位的YUV(可选值32,24,16)
返回
int 无返回值