相机

python-相机标定

淺唱寂寞╮ 提交于 2020-04-07 17:34:16
相机标定 一、相机标定的基本原理 1.1从世界坐标系到相机坐标系 1.2从相机坐标系到理想图像坐标系( 不考虑畸变 ) 1.3从理想图像坐标系到实际图像坐标系( 考虑畸变 ) 1.4从实际图像坐标系到像素坐标系 二、相机标定的基本实现步骤 三、图像集 四、实验代码及结果截图 五、总结 一、相机标定的基本原理 1.1从世界坐标系到相机坐标系 刚体从世界坐标系转换到相机坐标系的过程,可以通过旋转和平移来得到,我们将其变换矩阵由一个旋转矩阵和平移向量组合成的齐次坐标矩阵(为什么要引入齐次坐标可见后续文章)来表示: 其中,R为旋转矩阵,t为平移向量,因为假定在世界坐标系中物点所在平面过世界坐标系原点且与Zw轴垂直(也即棋盘平面与Xw-Yw平面重合,目的在于方便后续计算),所以zw=0,可直接转换成式1的形式。其中变换矩阵 即为前文提到的外参矩阵,之所称之为外参矩阵可以理解为只与相机外部参数有关,且外参矩阵随刚体位置的变化而变化。 下图表示了用R,t将上述世界坐标系转换到相机坐标系的过程。 1.2从相机坐标系到理想图像坐标系(不考虑畸变) 这一过程进行了从三维坐标到二维坐标的转换,也即投影透视过程(用中心投影法将物体投射到投影面上,从而获得的一种较为接近视觉效果的单面投影图,也就是使我们人眼看到景物近大远小的一种成像方式)。我们还是拿 但是为了在数学上更方便描述

相机开发(聚焦、横竖屏拍照、照片存储、连续拍照等)

纵然是瞬间 提交于 2020-04-07 13:48:46
近期项目用到了相机拍照的功能,于是想着封装好一些通用性较好的相机调用,从百度和谷歌上查找出来的资料真的印证了“天下文章一大抄”的道理,并且它们实现的拍照功能大都存在缺陷,如聚焦问题、反复拍照问题、照片存储问题、横竖屏转换问题。一大堆的问题,并且程序的扩展性和可重用性实在不敢恭维,排版级其混乱。 最后无奈,打开API文档camera相机类,从最基础的学起,然后自己进行改进,从这里也告诉我们一个道理,API文档才是学习起点,由于它会告诉你整个实现的原理和原因,可以对整个框架有一个总体的了解,看完API文档看其它的就有事半功倍的效果,吐槽完成,以下来正式实现。 一.实现流程 这幅图是从API文档(最好是看英文版的)整理出来的,从这副图上面我们能够看出,主要是有6步,当中难点是创建相机预览类。 二.权限声明 这个不讲了,直接增加声明权限代码,不明确的能够网上查查看 <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission

工业镜头基础知识整理

我怕爱的太早我们不能终老 提交于 2020-04-03 23:30:07
为什么需要镜头? 镜头等同于针孔成像中针孔的作用,所不同的是,一方面镜头的透光孔径比针孔大很多倍,能在同等时间内接纳更多的光线,使相机能在很短时间内(毫秒到秒级)获得适当的曝光;另一方面,镜头能够聚集光束,可以在相机胶片上产生比针孔成像效果更为清晰的影像; 镜头的组成: 机器视觉常用定焦镜头,并且都是手动调整光圈,一般不允许自动调整光圈,镜头上有调焦和调光圈两个环, 为了防止误碰动 ,工业镜头的两个环都有锁定螺丝。 注意调焦环不是用来调整焦距,而是调整像距,保证清晰图像落在焦平面上 工业镜头的接口: 物镜的接口有三种国际标准:F接口、C接口和CS接口。F接口是通用型接口,一般适用于焦距大于25mm的镜头,当物镜的焦距小于25mm时,物镜的尺寸不大,一般采用C型或CS型接口。 C和CS型接口的区别: C与CS型接口的区别在于镜头与相机接触面(基准面)至相机焦平面(摄像机CCD光电感应器所处位置)的距离,即法兰距不同,C型接口法兰距为17,562mm,CS型接口法兰距为12.5mm。 C型接口镜头与CS型相机之间增加一个5mm的C/CS转接环可以配合使用,CS型接口与C型接口相机无法配合使用。 工业镜头的基本参数 视场: Field of View,即FOW,也叫视野范围,指可以观测到的物体的可视范围。 工作距离: Working Distance,指从镜头前部到受检物体表面的距离

WPF 3D 知识点大全以及实例

瘦欲@ 提交于 2020-04-01 06:49:48
原文: WPF 3D 知识点大全以及实例 引言 现在物联网概念这么火,如果监控的信息能够实时在手机的客服端中以3D形式展示给我们,那种体验大家可以发挥自己的想象。 那生活中我们还有很多地方用到这些,如上图所示的Kinect 在医疗上的应用,当然还有体感游戏等等。这里无处不存在3D开发。 3D 用来增加视觉效果,给人以更加直观,真实的感觉。 3D如此美妙,那我们在WPF中又该从何处入手开启我们的3D编程旅程? WPF中3D开发技术的基础知识应该有以下几点: 3D开发基础知识 WPF中3D开发的基础元素(Elements) WPF中3D变换和动画 常用辅助类 3D开发基础知识 坐标系 Coodinate System WPF中二维图形的坐标系将原点定位在呈现区域(通常是屏幕)的左上角。 在二维系统中,x 轴上的正值朝右,y 轴上的正值朝下。而在三维坐标系中,原点位于呈现区域的中心,x 轴上的正值朝右,但是 y 轴上的正值朝上,z 轴上的正值从原点向外朝向观察者。传统的二维和三维坐标系表示形式如下图 由这些轴定义的空间是三维对象在 WPF 中的固定参考框架。 当您在该空间中生成模型并创建光源和照相机以查看这些模型时,一定要在向每个模型应用变换时,将固定参考框架或“全局空间”与您为该模型创建的局部参考框架区分开。 另请记住,根据光源和照相机设置

简单介绍下曝光,感光度,光圈,快门,白平衡。

拈花ヽ惹草 提交于 2020-04-01 06:20:55
大家好 今天我介绍下 摄影的相关知识 现在的手机越来越是智能化,我个人认为手机有可能取代部分专业的照相机,这个结论嗯并不是没有道理的。虽然高端的照相机是手机无法企及的,作为小巧的随身物品,可以说手机这个东西综合比实在太高了, 现在我们步入正题吧,我个人也是摄影爱好者,对这个方面有着强烈的兴趣,虽然我没有出色的作品 ,与专业的相机。可以我还是愿意分享我自己懂得部分来解决一些人不懂得疑问。这要得交换大家知道了什么是意义吧 ,那我就不在赘述了 。 相机参数: 焦距 在高中物理中我们学习了成像原理,(光是沿直线传播的)也是知道,凸凹镜片的作用,这里就不赘述高中的物理知识,不知道的可以去老实的们百度。 在凸镜中一个物体在凸镜后面可以清晰成像的距离就会说这个镜头的焦距,这个焦距是镜头出厂就设置好了,有人问不是可以变焦距的吗?对镜头在焦距上有 定焦 距与 变 焦 距的区别 。好了不多说了 ,焦距长的叫长焦镜头,适合在拍远处的景象上,短焦距的又叫广角镜头,近物体的效果比较好,还有一些可以微焦距的可以用来拍花瓣的。一般的变焦距镜头可以包括全部的镜头,但是这样的成本十分高昂的,加上设备的有点重不便于携带,所以量力带就好,一般手机的相机都会写等效多少的焦距,我的荣耀8是34mm的焦距。 相机参数: 快门 手机中也有快门的说法,在手机的专业相机中是可以设置快门的,简单的介绍下快门的作用

[相机选型] 双目视觉系统的器材选型和搭建

天涯浪子 提交于 2020-03-30 06:43:10
从镜头选型,传感器选型,精度要求,基线长度,视场大小几个方面 1.镜头选型 1.1镜头的主要参数   a.焦距(focal lenth):   焦距是指从镜片映射中心到可呈清晰像的像平面的距离。 焦距的大小决定着视角的大小,焦距数值小,视角大,所观察的范围也大;焦距数值大,视角小,观察范围小。根据焦距能否调节,可分为定焦镜头和变焦镜头两大类。   b.光圈(Iris):   用F表示,以镜头焦距F和通光孔径D的比值来衡量。每个镜头上都标有最大F值。我们平时所说的光圈值F2.8、F8、F16等是光圈“系数”,是相对光圈,并非光圈的物理孔径,与光圈的物理孔径及镜头到感光器件(胶片或CCD或CMOS)的距离有关。光圈数值(F) 1 1.4 2 2.8 4 5.6 8 11 16 22 32   c.支持最大CCD尺寸(SensorSize) 镜头成像直径可覆盖的最大CCD芯片尺寸。主要有:1/2″、2/3″、1″和1″以上。   d.接口 常用的包括C、CS、F、V、T2、Leica、M42x1、M75x0.75等。   e.景深 景深是指在被摄物体聚焦清楚后,在物体前后一定距离内,其影像仍然清晰的范围。 景深随镜头的光圈值、焦距、拍摄距离而变化。 光圈越大,景深越小;光圈越小、景深越大。 焦距越长,景深越小;焦距越短,景深越大。 距离拍摄体越近时,景深越小;距离拍摄体越远时,景深越大。

摄像头定位:ICCV2019论文解析

爱⌒轻易说出口 提交于 2020-03-29 07:54:29
摄像头定位: ICCV2019论文解析 SANet: Scene Agnostic Network for Camera Localization 论文链接: http://openaccess.thecvf.com/content_ICCV_2019/papers/Yang_SANet_Scene_Agnostic_Network_for_Camera_Localization_ICCV_2019_paper.pdf The code is available at: https://github.com/ sfu-gruvi-3dv/sanet_relocal_demo 摘要 提出了一种场景不可知的摄像机定位神经网络结构,模型参数和场景相互独立。尽管最近在基于学习的方法方面取得了进展,但大多数方法都需要对每个场景逐一进行训练,这不适用于 SLAM和机器人导航等在线应用,因为在这些应用中,模型必须建立在平面上。本文的方法学习建立分层的场景表示,并预测查询的密集场景坐标图给定任意场景的地面上的 RGB图像。利用预测出的场景坐标图可以估计出查询图像的 6D摄像机姿态。此外,稠密预测还可用于其他在线机器人和 AR应用,如避障。本文在室内和室外基准上证明了本文的方法的有效性和效率,实现了最先进的性能。 1. Introduction

数码相机常用CCD/CMOS尺寸对比

こ雲淡風輕ζ 提交于 2020-03-28 14:09:20
  数码相机的关键元件CCD或CMOS又称为“影像传感器”,其作用相当于感光胶片。CCD尺寸越大,采集光线的效果越好,画面记录的信息就越多,保留的细节也就越丰富,所以图像更完美漂亮。   CCD尺寸的大小与像素的多少有一定的联系,但是也不尽然。专业数码单反尼康的D2Hs,别看它像素只有410万,可CCD的尺寸却是23.5×15.7mm;而柯达的DX7590数码相机虽拥有500万像素,但CCD尺寸只有5.38×4.39mm,两块CCD面积相差近10倍。可以肯定地说,D2Hs拍出的图像质量要比柯达DX7590拍出的画面要好得多,而且图像越放大越能证明这一点。所以购买数码相机时,千万不要盲目追求高像素,还要看看它的CCD尺寸有多大!   目前CCD、CMOS最大尺寸(除120专用的数码后背)与35毫米传统胶片的底片一致,即24×36mm。所以又称为“全画幅”CCD。   大尺寸的CCD制作成本非常高,已经成为了数码相机(主要是数码单反相机)价格居高不下的主要颈瓶。   CCD和CMOS在制造上的主要区别主要是CCD是集成在半导体单晶材料上,而CMOS是集成在被称为金属氧化物的半导体材料上,工作原理没有本质的区别,都是利用感光二极管(photodiode)进行光电转换,这种转换的原理与太阳能电子计算机的太阳能电池效应相近,光线越强、电力越强;反之,光线越弱、电力也越弱

优美的晚霞原来是这样拍出来的,教你相机这样设置,效果堪比单反

妖精的绣舞 提交于 2020-03-26 09:52:40
3 月,跳不动了?>>> 美丽的晚霞,是我们经常拍的素材。拍摄晚霞,相机该怎样去设置?看起来是一个简单的问题,但是我们在实践中因为设置相机不好,所以拍摄的很失败,下面就和大家说说怎么去设置好相机吧。 一、选择的曝光模式 可以根据自己的拍摄意图选好曝光模式,其中有三种选择,分别是光圈优先、快门优先、手动模式。 光圈优先(A): 晚霞拍摄作为风光摄影题材,必须要有较大的景深。可以根据“小光圈,大景深”原理,这时候应该选择小光圈拍摄,例如f11、f16等等。光圈优先模式就可以更好的控制光圈大小。光圈优先模式下,快门速度由相机测光系统自动配置。 快门优先(S或T): 如果想要把晚霞拍出有流动感,快门速度就要满,建议调到10秒,在快门优先模式下,光圈大小由相机测光系统自动配置。 手动模式(M): 在较大光比的情况下,运用手动模式就能更好控制天空与地面的阴暗度。这时,光圈、速度完全手动设置,拍摄者可通过查看直方图来衡量曝光是否正确。 二、调整曝光补偿 在拍摄过程中,我们可以回放图片并结合直方图察看曝光是否准确,对曝光补偿作添加或减少的设置。一般而言,拍摄晚霞如果按三分法构图的话,晚霞的面积占66.7%,以天空亮部测光,应增加曝光补偿0.5-1.0EV。 三、其他设置 我们将感光度(ISO)调整到100,自动白平衡,将图像保存为RAW格式,图像分辨率设置为相机最高档,画幅设置为4:3格式

全景视频拼接关键技术

心已入冬 提交于 2020-03-26 04:48:54
一、原理介绍 图像拼接(Image Stitching)是一种利用实景图像组成全景空间的技术,它将多幅图像拼接成一幅大尺度图像或360度全景图,图像拼接技术涉及到计算机视觉、计算机图形学、数字图像处理以及一些数学工具等技术。图像拼接其基本步骤主要包括以下几个方面:摄相机的标定、传感器图像畸变校正、图像的投影变换、匹配点选取、全景图像拼接(融合),以及亮度与颜色的均衡处理等,以下对各个步骤进行分析。 摄相机标定 由于安装设计,以及摄相机之间的差异,会造成视频图像之间有缩放(镜头焦距不一致造成)、倾斜(垂直旋转)、方位角差异(水平旋转),因此物理的差异需要预先校准,得到一致性好的图像,便于后续图像拼接。 相机的运动方式与成像结果之间的关系见下图。 图1:相机的运动方式与成像结果之间的关系 图像坐标变换 在实际应用中,全景图像的获得往往需要摄像机以不同的位置排列和不同的倾角拍摄。例如由于机载或车载特性,相机的排列方式不尽相同,不能保证相机在同一面上,如柱面投影不一定在同一个柱面上,平面投影不一定在同一平面上;另外为了避免出现盲区,相机拍摄的时候往往会向下倾斜一定角度。这些情况比较常见,而且容易被忽略,直接投影再拼接效果较差。因而有必要在所有图像投影到某个柱面(或平面)之前,需要根据相机的位置信息和角度信息来获得坐标变换后的图像。