|
本帖最后由 非也 于 2013-5-10 14:53 编辑
为了感谢大家一直以来对天嵌科技的支持和鼓励,公司决定陆续放出TQ2440,6410 PDA的源码,希望大家一如既往的支持天嵌,天嵌的发展离不开广大的朋友!
“授人以鱼不如授人以渔”,天嵌科技本着负责任的态度教大家如何使用和开发,助您翱翔于嵌入式的天空!
本次开放的是摄相头预览及拍照程序,代码有不对之处希望大家多多指正,谢谢。
同时支持AV(7113,OV9650,OV3640)摄相头和USB摄相头,可保存为JPG图片。
为了营造和谐的论坛氛围,以后所有下载均需金钱,金钱获取的方法有: 1、回答其他朋友的问题赢取金钱,请大家提问的时候尽量使用悬赏帖
2、每天登陆论坛,签到奖励金钱
3、共享资料和开发心得向管理员申请奖励。多劳多得不劳不得。
如何判断USB摄相头支持的视频流格式的代码如下:详细的内容请参考src/uUsbCamera.cpp文件
- struct v4l2_fmtdesc fmtdesc; //获取摄像头
- memset(&fmtdesc, 0, sizeof(fmtdesc));
- struct v4l2_format fmt; //设置获取视频的格式
- memset(&fmt, 0, sizeof(fmt));
- fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; //视频数据流类型,永远都是V4L2_BUF_TYPE_VIDEO_CAPTURE
- // fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_MJPEG; //视频源的格式为JPEG或YUN4:2:2或RGB
- fmt.fmt.pix.width = m_iWidth; //设置视频宽度
- fmt.fmt.pix.height = m_iHeight; //设置视频高度
- fmtdesc.index = 0;
- fmtdesc.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
- if (-1 == ioctl(m_iFd, VIDIOC_ENUM_FMT, &fmtdesc))
- return false;
- printf("VIDIOC_ENUM_FMT(%s, VIDEO_CAPTURE)\n",fmtdesc.description);
- if (strcmp((const char*) fmtdesc.description, "MJPEG") == 0) //视频源的格式为JPEG或YUN4:2:2或RGB
- {
- fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_MJPEG; //视频源的格式为MJPEG
- pixelformat = V4L2_PIX_FMT_MJPEG;
- }
- else if (strcmp((const char*) fmtdesc.description, "JPEG") == 0)
- {
- fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_MJPEG; //视频源的格式为MJPEG
- pixelformat = V4L2_PIX_FMT_MJPEG;
- }
- else if (strcmp((const char*) fmtdesc.description, "YUV 4:2:2 (YUYV)") == 0)
- {
- fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_YUYV; //视频源的格式为YUYV
- pixelformat = V4L2_PIX_FMT_YUYV;
- }
- else
- {
- fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_YUV420; //视频源的格式为JPEG或YUN4:2:2或RGB
- pixelformat = V4L2_PIX_FMT_YUV420;
- }
- if (ioctl(m_iFd, VIDIOC_S_FMT, &fmt) < 0) //使配置生效
- {
- printf("set format failed\n");
- return false;
- }
复制代码
更多对该源码的问题回答请参考:关于最新的AV摄像头和usb摄像头源码的使用
6410AV摄相头源码请参考:TQCamera源码在TQ6410上支持saa7113开发的问题
需要注意的内容:
1、源码的TQCamera.pro工程中最后一行引用的库名不对,原为libInputMethod.so,请修为为 libTQInputMethod.so,或将源码目录中libTQInputMethod.so修改为libInputMethod.so
2、拿到源码后请直接使用qmake ,make两步,不要使用qmake -project,因为qmake -project会重新生成工程文件,新的工程文件中没有添加输入法的支持,要用户自己添加。如果您使用了qmake -project,需要修改生成的.pro文件,在该文件的最后一行添加:LIBS += -L. \-lInputMethod或LIBS += -L. \
-lTQInputMethod
3、请将libInputMethod.so (如果您改名了,即libTQInputMethod.so 拷贝到文件系统的 /opt/PDA/lib/目录下。
我们一直在努力做的更好!请大家回复后下载,感谢您对天嵌科技的支持!
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
评分
-
查看全部评分
|