cam

ROS系统下调用笔记本摄像头和USB摄像头

不打扰是莪最后的温柔 提交于 2019-12-17 17:19:02
调用摄像头,ros主要使用两种驱动的包,一是usb_cam,二是uvc_cam 我再测试的时候,第二种驱动uvc_cam网址无法找到,下载不了,因此主要说一下第一种usb_cam的使用 1.usb_cam安装 cd catkin_ws/src git clone https://github.com/bosch-ros-pkg/usb_cam.git cd .. catkin_make 定位到工作空间下,采用源代码安装,catkin_ws是工作空间,如不一样适当修改 2.运行usb_cam_node 先打开新的终端,运行roscore roscore 新版本的usb_cam包在launch文件夹下有自带的launch文件,名叫usb_cam-test.launch,我们可以直接cd到这个文件夹下运行它。 再打开新终端: cd catkin_ws/src/usb_cam/launch roslaunch usb_cam-test.launch 运行之后如果出现错误: ERROR: cannot launch node of type [usb_cam/usb_cam_node]: usb_cam ROS path [0]=/opt/ros/kinetic/share/ros ROS path [1]=/opt/ros/kinetic/share process[image_view

jetson agx xavier+ros+usb_camera

穿精又带淫゛_ 提交于 2019-12-17 02:51:27
catkin_ws/src$ git clone https://github.com/ros-drivers/usb_cam ~/catkin_ws/src$ cd .. catkin_make source devel/setup.bash sudo apt-get install ros-melodic-image-view roslaunch usb_cam usb_cam-test.launch 来源: CSDN 作者: qq_35212636 链接: https://blog.csdn.net/qq_35212636/article/details/103569227

Camera dtsi 完全解析

末鹿安然 提交于 2019-12-10 04:09:52
主要参考 kernel/Documentation/devicetree/bindings/media/video/msm-cci.txt 的注释 1、sensor配置: qcom,camera@0 { cell-index = <0>; compatible = "qcom,camera"; reg = <0x2>; qcom,csiphy-sd-index = <0>; qcom,csid-sd-index = <0>; qcom,mount-angle = <90>; qcom,eeprom-src = <&eeprom0>; qcom,actuator-src = <&actuator0>; qcom,led-flash-src = <&led_flash0>; cam_vana-supply = <&pm8916_l2>; cam_vdig-supply = <&pm8916_s3>; cam_vio-supply = <&pm8916_l10>; cam_vaf-supply = <&pm8916_l11>; qcom,cam-vreg-name = "cam_vana","cam_vdig","cam_vio", "cam_vaf"; qcom,cam-vreg-type = <0 0 0 0>; qcom,cam-vreg-min-voltage =

android camera(二):摄像头工作原理、s5PV310 摄像头接口(CAMIF)

◇◆丶佛笑我妖孽 提交于 2019-12-07 14:56:48
一、摄像头工作原理 上一篇我们讲了摄像头模组的组成,工作原理,做为一种了解。下面我们析摄像头从寄存器角度是怎么工作的。如何阅读摄像头规格书(针对驱动调节时用到关键参数,以GT2005为例)。 规格书,也就是一个器件所有的说明,精确到器件每一个细节,软件关心的寄存器、硬件关心的电气特性、封装等等。单单驱动方面,我们只看对我们有用的方面就可以了,没必要全部看完。主要这样资料全都是鸟语(En),全部看完一方面时间上会用的比较多,找到关键的地方就行了。 1、camera的总体示意图如下:控制部分为摄像头上电、IIC控制接口,数据输出为摄像头拍摄的图传到主控芯片,所有要有data、行场同步和时钟号。GT2005/GT2015是CMOS接口的图像传感器芯片,可以感知外部的视觉信号并将其转换为数字信号并输出。 我们需要通过MCLK给摄像头提供时钟,RESET是复位线,PWDN在摄像头工作时应该始终为低。PCLK是像素时钟,HREF是行参考信号,VSYNC是场同步信号。一旦给摄像头提供了时钟,并且复位摄像头,摄像头就开始工作了,通过HREF,VSYNC和PCLK同步传输数字图像信号。 数据是通过D0~D7这八根数据线并行送出的。 (1)、Pixel Array GT2005阵列大小为 1268 列、1248 行,有效像素为 1616 列, 1216 行。也就是说摄像头为1600X1200的时候

android camera(四):camera 驱动 GT2005

不羁岁月 提交于 2019-12-06 22:56:58
摄像头主要参数: 1、MCLK 24MHz; 2、PCLK 48~52MHz~; 3、电压 1.8V(1.5V)、2.8V; 4、scl(IIC时钟)100KHz或者400KHz。 下载:常用摄像头规格书(个别有android驱动程序) :bf3703 30W、gc0308 30W、ov7670、gt2005 200W、gt2015 200W、NT99250 200W、s5k5ba 200W、s5k4ba 一、摄像头驱动 我们以GT2005为例,来讲述一个摄像头驱动的调试过程: 摄像头和主控的关系图,如下: 摄像头驱动比较简单,完成一面三大步就可以: 摄像头的上电、时钟这些基本条件; IIC保证摄像头的初始化; 摄像头工作后传回数据到主控。 完成这三个步骤就完成了摄像头基本工作的调试。 1、 摄像头的上电、时钟这些基本条件的实现 电源部分,上电时对应规格书,确认上电时序;MCLK摄像头的主时钟是否提供,看下面是和电和规格书中的 (1)、主意摄像头工作要两组电压:1.8V(1.5V)、2.8V还有MCLK 程序中对电源控制:我们在arch\arm\mach-smdkv310.c中,完成上面两个步骤的代码,(这一点不同平台也许有所不同,这里这是一个实例,这部分代码只是针对三星平台的) #ifdef CONFIG_VIDEO_GT2005 static void set_cam2005

android camera(三):camera V4L2 FIMC

自作多情 提交于 2019-12-06 08:04:18
android camera(一):camera模组CMM介绍 android camera(二):摄像头工作原理、s5PV310 摄像头接口(CAMIF) android camera(三):camera V4L2 FIMC android camera(四):camera 驱动 GT2005 下载:常用摄像头规格书(个别有android驱动程序) :bf3703 30W、gc0308 30W、ov7670、gt2005 200W、gt2015 200W、NT99250 200W、s5k5ba 200W、s5k4ba 前面两篇说的有点多了,不过多了解点东西也挺好的,遇到问题时可以有更多的思路,真正驱动是从这一块开始。一般BSP的camera都是完好的,我们只用关心驱动这些就可以了。 1. V4L2 1)简介 在Linux中,摄像头方面的标准化程度比较高,这个标准就是V4L2驱动程序,这也是业界比较公认的方式。 V4L全称是Video for Linux,是Linux内核中标准的关于视频驱动程序,目前使用比较多的版本是Video for Linux 2,简称V4L2。它为Linux下的视频驱动提供了统一的接口,使得应用程序可以使用统一的API操作不同的视频设备。从内核空间到用户空间,主要的数据流和控制类均由V4L2驱动程序的框架来定义。

qualcomm camera 学习笔记

旧街凉风 提交于 2019-12-04 09:24:23
高通camera学习笔记概述(一二三四五) http://www.cnblogs.com/potato-coffee/p/4172009.html android camera 预览 app到hal http://blog.csdn.net/tankai19880619/article/details/22795217 电路图,时序图,移植,介绍参数 移植时用 http://www.cnblogs.com/thjfk/p/4086001.html 简单的移植 http://blog.csdn.net/u013531497/article/details/18737111 从上到下,特别全 代码注释很全 http://www.cnblogs.com/joseph-linux/p/3515151.html 音圈马达VCM(Voice Coil Motor)、陶瓷马达(Piezo Motor)、步进马达(Stepper Motor)。 高通自带camera app 相关功能开关 exif相关 getExifData hardware/qcom/camera/QCamera2/stack/mm-jpeg-interface/src$ vi mm_jpeg_exif.cpackages/apps/Camera2$ vi AndroidManifest.xml fh file handle

Android Camera - app passed NULL surface

匿名 (未验证) 提交于 2019-12-03 08:36:05
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Whenever I run the cam_thread I get the error "app passed NULL surface". This code supposedly works on the HTC Incredible 1. I've reconfigured it slightly to run on a droid x. However I still get this error. public class Android_Activity extends Activity { Main_thread simulator; ToggleButton togglebutton; EditText ip_text; SensorManager sm = null; SurfaceView view; Sensors_thread the_sensors=null; String IP_address; Android_Activity the_app; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

opencv标定程序(修改)

霸气de小男生 提交于 2019-12-03 07:10:06
转载请注明来自: http://blog.csdn.net/zhouyelihua/article/details/38421377 资源下载见: 点击打开链接 百度云盘免积分下载: https://pan.baidu.com/s/1bzy20u 有关于标定的基本原理详见 点击打开链接 长度单位毫米 看到本文被转载很多次很高兴但是之前的代码有点小问题且不易懂。于是乎写了一个简洁的代码 首先介绍用本程序标定的步骤: 1,。拍完图片之后将图片重命名为下图所示形式 2.将照片放在程序的cam文件夹下 3.然后运行程序,按照提示输入信息 4.最后在output文件夹找到result_data_no_optim.txt 代码如下: //author:YeahPingYE //function:auto calibration //time:2014/11/25 // // #include<highgui.h> #include<cv.h> #include<iostream> #include<fstream> using namespace std; void save_result(CvMat*cam_rotation_all, CvMat*cam_translation_vector_all, CvMat*cam_intrinsic_matrix, CvMat*cam

Constructor for &#039;&#039; must explicitly initialize the reference member &#039;&#039;

匿名 (未验证) 提交于 2019-12-03 03:04:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I have this class class CamFeed { public: // constructor CamFeed(ofVideoGrabber &cam); ofVideoGrabber &cam; }; And this constructor: CamFeed::CamFeed(ofVideoGrabber &cam) { this->cam = cam; } I get this error on the constructor: Constructor for '' must explicitly initialize the reference member '' What is a good way to get around this? 回答1: You need to use the constructor initializer list: CamFeed::CamFeed(ofVideoGrabber& cam) : cam(cam) {} This is because references must refer to something and therefore cannot be default constructed. Once