当前位置: 首页 > wzjs >正文

宝鸡营销型网站建设网站seo招聘

宝鸡营销型网站建设,网站seo招聘,万网网站如何建设,网络营销外包要多少钱【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 关于linux camera,一般都是认为是mipi camera,或者是usb camera。当然不管是哪一种,底层的逻辑都是v4l2&#x…

 【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        关于linux camera,一般都是认为是mipi camera,或者是usb camera。当然不管是哪一种,底层的逻辑都是v4l2,这一点大家都一样。只不过如果使用mipi camera,不仅要适配i2c驱动、mipi驱动、isp驱动,而且相关的协议手册、驱动代码,soc芯片厂家也未必提供的,这一点就比较麻烦。相比较而言,usb camera容易很多,sensor侧的i2c、mipi已经不用自己处理,isp也是usb camera内部的mcu处理好了,所以剩下来的工作,就是usb uvc协议处理。这是一个标准协议。用起来比较方便,也不需要安装额外的驱动,一般linux kernel都包含在内了。

        在linux上面要获取图像有两种软件接口,一种就是借助于opencv来处理;另外一种就是自己编写对应的v4l2接口。

1、opencv接口

        opencv是我们能够想到的,最简单、最直接的方法。不管是windows平台,还是linux平台,都可以通过opencv来获取图像。获取视频的流程基本就是三步。第一步,创建cv::VideoCapture对象。这个对象的输入参数可以是阿拉伯数字,也可以是具体的文件名。如果是后一种情况,那么就变成从视频读取数据了。

        第二步,确认设备是否打开。这一步就是调用一下isOpened()函数即可。第三步,就是直接从cv::VideoCapture导出图像给cv::Mat,导出的方法使用的运算符>>,非常形象。

#include <opencv2/opencv.hpp>
#include <iostream>//#pragma comment(lib, "D:/software/opencv/build/x64/vc16/lib/opencv_world480d.lib")int main() 
{cv::VideoCapture cap(0);if (!cap.isOpened()) {return -1;}cv::Mat frame; while (true) {cap >> frame;if (frame.empty()) {break;}cv::imshow("video", frame);if (cv::waitKey(30) == 27) {break;}}cap.release();cv::destroyAllWindows();return 0;
}

2、v4l2接口

        v4l2接口是另外一种用的比较多的方式。和opencv相比较,v4l2肯定处理流程上更加复杂一点,但是好处就是我们可以通过v4l2对摄像头做更加精准的控制。一种比较通用的情况就是,我们在实际使用的时候,都会关闭自动曝光,然后通过外部补充光源的形式,实现对光源的精确控制,从而可以保证可以稳定输出高质量的图片。

        另外,对于一些自定义的v4l2接口,也是没有办法通过opencv来实现的。所以,对于很多稍微有点规模的图像处理公司来说,它们习惯于自己编写统一的图像接口,兼容windows的directshow和linux的v4l2,这样就不会受到两个平台的约束,类似于这样的api接口,

#ifndef _CAMERA_API_H
#define _CAMERA_API_H#ifdef EXPORTS
#define DLLAPI __declspec(dllexport)
#else
#define DLLAPI __declspec(dllimport)
#endifextern "C" 
{
DLLAPI int  CameraNumber();
DLLAPI int  EnumCameraIndex(char* vid, char* pid, unsigned char CamIndex[32]);
DLLAPI void*  CameraOpen(int index, int nWidth = 0, int nHeight = 0, const char* data_type = "");
DLLAPI int  CameraClose(void* pCamDev);
DLLAPI int  CameraWidth(void* pCamDev);
DLLAPI int  CameraHeight(void* pCamDev);
DLLAPI char* CameraDataType(void* pCamDev);
DLLAPI char* CameraName(void* pCamDev);
DLLAPI int  CameraQuery(void* pCamDev, unsigned char* szImageBuf);
}#endif

http://www.dtcms.com/wzjs/106776.html

相关文章:

  • 做eso哪家网站好四川整站优化关键词排名
  • 网站正在建设中英文表述海外网络专线
  • 钟表珠宝商城网站建设app下载推广
  • 陕西汽车网站建设百度怎么精准搜索
  • 麻城做网站微信5000人接推广费用
  • bcc宝塔安装wordpress键词优化排名
  • 山东青岛网站建设公司哪家专业爱站权重
  • 做网站注意哪些方面东莞seo建站推广费用
  • 建设电商网站报价大学生创新创业大赛
  • 个人网站备案号可以做企业网站吗软件开发培训学校
  • 郑州短视频代运营河北seo网络推广
  • 晋城 网站建设站长统计性宝app
  • 传奇霸业网页游戏开服aso排名优化知识
  • 网站制作企业有哪些公司视频号最新动作
  • 微信上打开连接的网站怎么做搜狗搜索网
  • 网站建设经理岗位职责百度搜索引擎推广
  • 网站建设 公司 常见问题微博推广有用吗
  • 深圳最新政策全网营销与seo
  • wordpress 短信认证网站优化排名首页
  • 如何做网站建设方案关键字挖掘爱站网
  • 重庆做的好的房产网站建站优化推广
  • 衡水网站建设推广网站怎么推广出去
  • 建设银行舟山分行网站天津百度整站优化服务
  • 黄村做网站哪家快seo新人培训班
  • htaccess 禁止其他网站岳阳seo
  • 做杂志的网站有哪些搜索关键词排名提升
  • 为食堂写个网站建设百度一下搜索一下
  • 海口云建站模板企业营销推广
  • 蓝盾信息做网站吗广告做到百度第一页
  • 两学一做知识竞答网站沈阳seo搜索引擎