相机

数码相机小技巧妙用

不打扰是莪最后的温柔 提交于 2019-12-29 01:41:43
为什么同一样的景色,大家拍摄出来的照片差别那么大,为什么同一档次的数码相机,你的照片和高手拍摄出来的照片高下立显,不要为自己缺乏摄影基础知识而懊恼,不要为相机档次而郁闷,下面这些小小的技巧就可以帮助你达到高手的境界。 很多已经开始接触数码相机的用户往往倚赖于全自动拍摄模式,这在一般环境下的拍摄也还是不错的,但是遇到稍微复杂一些的拍摄环境,那么全自动模式就显得力不从心了。以下几个小技巧可以有效地提高拍摄品质,即使是菜鸟也能够拍摄出高手级的照片哦!一起来看看! "扎马步"-避免抖动带来的危害 三脚架对于菜鸟来说可能是不太常用的配件,即使配置了三脚架的朋友在外出游玩时也常常不愿携带,在光线充足的环境下拍摄一般不会遇到快门过低带来的手持晃动问题,但是在暗环境下如果不使用三脚架辅助拍摄的话,一般的菜鸟都没有在快门低于1/15秒时"稳如泰山"的功力,这时候相机容易产生抖动,拍出来的照片也就可想而知了。(数码相机快门在低于1/30s拍摄的时候,在LCD显示屏上会出现"防抖动"的警告标志) 在没有三脚架来固定相机拍摄的时候,就要像武林高手那样学会利用一切方法、地形来达到最稳定的拍摄准备,如果没有三脚架,就一定要借助周围的物体拿稳相机,如靠在树上、将双臂放在栏杆或其他固定物体上,这时如果使用具有旋转镜头(尼康5000,尼康5700,索尼F717,F707等)或者可选择显示屏的数码相机

如何处理iOS中照片的方向

假装没事ソ 提交于 2019-12-29 00:22:04
使用过iPhone或者iPad的朋友在拍照时不知是否遇到过这样的问题,将设备中的照片导出到Windows上时,经常发现导出的照片方向会有问题,要么横着,要么颠倒着,需要旋转才适合观看。而如果直接在这些设备上浏览时,照片会始终显示正确的方向,在Mac上也能正确显示。最近在iOS的开发中也遇到了同样的问题,将拍摄的照片上传到服务器后,再由Windows端下载该照片,发现手机上完全正常的照片到了这里显示的横七竖八。同一张照片为什么在不同的设备上表现的不同?如何能够避免这种情况?本文将和大家一一解开这些问题。 目录 照片的存储演变 胶片时代 数码时代 方向传感器 EXIF(Exchangeable Image File Format) Orientation iPhone上的情况 验证EXIF Mac平台 Windows平台 开发时如何避免 直观的解决方案 第二种简单的方法 结尾 照片的存储演变 一切都得从相机的发展开始说起。 胶片时代 一般相机拍摄出来的画面都是长方形,在拍摄的那一瞬间,它会将取景器中的场景对应的颜色值存到对应的像素位置。相机本身并没有任何方向的概念,只是使用者想要拍摄的场景在他期望的照片中显示的方式与实际存在差异时,才有了方向一说。如下图,对一个场景 F 进行拍摄,相机的方向可能会有这样四个常见的角度: 相机是“自私”的,由于相机仅反应真实的场景,它不理解拍摄的内容

Exif的Orientation信息说明

痞子三分冷 提交于 2019-12-29 00:21:54
EXIF Orientation 参数让你随便照像但都可以看到正确方向的照片而无需手动旋转(前提要图片浏览器支持,Windows 自带的不支持) 这个参数在佳能、尼康相机照的照片是自带的,但我的奥林巴斯就没有,看照片时不能自动旋转,修正的方法有两个,一个看不顺眼就旋转,另一个是修改 EXIF 中的 Orientation 参数(XnView 浏览器查看缩略图时可以修改) 如果你想在旋转图片时只写入 EXIF 方向信息而不旋转图片就可以用到下面的方法 看图修改很简单 旋转角度 参数 0° 1 顺时针90° 6 逆时针90° 8 180° 3 2,4,5,7功能类似 Photoshop 的水平翻转、垂直翻转,照像时不会出现的,自拍也不会(对着镜子自拍可以,但相机不知道) 读取方法:未旋转的照片读上左旋转后的方向对照下表。相当于把照片当相机,看旋转后相机上方和左方分别对着什么方向 拿名片或相机来转一下最好理解 参数含义: 参数 0行(未旋转上) 0列(未旋转左) 旋转(方法很多) 1 上 左 0° 2 上 右 水平翻转 3 下 右 180° 4 下 左 垂直翻转 5 左 上 顺时针90°+水平翻转 6 右 上 顺时针90° 7 右 下 顺时针90°+垂直翻转 8 左 下 逆时针90° 照像者面对相机(非被照像的人,即是未旋转照片)上边为0行,左边为0列

工业相机镜头相关知识整理

别来无恙 提交于 2019-12-27 16:37:50
一、镜头 1,计算保证图像不拖影的最大曝光时间 相机在拍摄运动的物体时,如果物体运动过快,相机的曝光时间设置过长,那么图像就会产生拖影。本文计算保证图像不拖影的最大曝光时间。 如果物体运动速度V=100mm/s,系统分辨率R=1/100(mm/pixel),则最大曝光时间T计算公式为: 如果允许接受的拖影是3个像素,那么最大曝光时间T计算公式为: 2、光圈的相关知识 光圈值设定原理: https://blog.csdn.net/excellent_sun/article/details/87555521 来源: CSDN 作者: 不沉的方舟 链接: https://blog.csdn.net/sinat_34520704/article/details/103730481

学习光线追踪(6)---第一次显示

泄露秘密 提交于 2019-12-27 04:12:38
0.简介 前面做了那么多准备,我们有了相机类模拟相机,有了球类,有了光线类模拟光线,现在就用这些东西来显示一下,算是一次调试。 1.效果 先来一张效果图。 深度显示 2.解析 这次主要是将之前写过的功能整合了一下,并且对之前的类做了一些小修改。 光线类中添加了一下东西。 class Ray { public: //光线出发点 void* polygon = nullptr;//出发元素指针 float distance;//光线长度 vec3 normal;//所在点法向量 //光线起点 vec3 position; //光线方向 vec3 direction; //光线颜色 vec3 color; //光的强度 float intensity; //获取光线打到的位置 vec3 getEndPoint(float distance); Ray(); Ray(vec3 _direction, vec3 _position, float _intensity, vec3 _color,void * _polygon) :direction(_direction), position(_position), intensity(_intensity), color(_color),polygon(_polygon) {} ~Ray(); }; 添加了光线经过碰撞计算后得到的信息

Unity Shader学习笔记(一)坐标变换

喜夏-厌秋 提交于 2019-12-26 20:08:58
基本问题   试想我们的美术做了一个3D模型,然后渲染引擎把模型渲染到屏幕上。我们还可以选定不同的视角,模拟不同的光照条件去观察模型。现在来分析一下这个过程。如果说我们把这个过程看成一个函数,那么函数的输出就是屏幕上的图像。确切地说,是屏幕上的每个像素。这个函数的主要输入是这个3D模型,我们观察的视角,光照情况等等因素。渲染过程就是给出这些因素决定每个像素值的过程。   首先来看模型。模型通常是由可视化的建模软件制作,看上去是一个“实体”。然而从计算机的角度来说,模型文件只不过是包含渲染它所需要的数据的文件。真实世界中的物体细节是无法穷尽,极其复杂的。所以我们进行简化,把物体简化成多面体,进一步的,简化成每个面是三角形的多面体。(对于曲面和细节较多的地方,我们可以用更多更小的三角面来拟合)。很显然,每个顶点的相对位置是重要的。它决定了模型的形状。由于需要描述位置,自然就有了选择坐标空间的问题。模型描述自身顶点坐标的空间称为模型空间。于是我们可以得出模型文件里一定要包含模型空间下的顶点坐标。   通常,在一个渲染的场景中,包含了多个渲染的物体。它们根据不同的位置摆放,当然会构成不同的场景。那么为了描述场景里模型之间的相对位置,我们会选择一个独立于模型的坐标空间,称为世界空间。有了世界空间,我们也可以描述观察者的位置和观察的角度。这个观察者,通常我们可以叫它为camera

相机射线目标检测

梦想的初衷 提交于 2019-12-26 16:24:18
/// <summary> /// 从相机发射射线 返回hitPoint 若未射到物体,返回值为相机forward加rayRange的范围点 /// </summary> /// <param name="rayCamera"> 发射射线的相机</param> /// <param name="rayRange">未射到物体时,返回的射线可达最大范围值</param> /// <returns> 确定瞄准点 </returns> public static Vector3 CameraRayPosition(Camera rayCamera,int rayRange) { RaycastHit hit; Ray ray = new Ray(rayCamera.transform.position, rayCamera.transform.forward); if (Physics.Raycast(ray, out hit, Mathf.Infinity)) { return hit.point; } else { return rayCamera.transform.position + (rayCamera.transform.forward * rayRange); } } 来源: CSDN 作者: ysong0913 链接: https://blog.csdn.net

基于OpenCv的机器人手眼标定(九点标定法)

偶尔善良 提交于 2019-12-25 10:44:49
对于初学者而言,对相机的标定经常模糊不清。不知道机器坐标与相机坐标如何转换,两个坐标系又是如何建立? 我们通常是利用张氏标定法,针对于相机的畸变进行标定,利用校正得到的参数对图形进行处理后再呈现出来。这个方法网上用的人很多,资料也较为全面。这里就不做说明了。本文主要是针对机械手的手眼标定,一般而言目前相机的畸变较小,精度也较为准确,使用该方法进行标定也能得到较好的效果。 首先,对于九点标定而言。我们使用到的是OpenCv中的 estimateRigidTransform 函数。 函数定义如下: Mat estimateRigidTransform(InputArraysrc,InputArraydst,boolfullAffine) 前两个参数,可以是 :src=srcImage (变换之前的图片Mat) dst=transImage(变换之后的图片Mat) 也可以: src=array(变换之前的关键点Array) dst=array(变换之后的关键点Array) 第三个参数: 1(全仿射变换,包括:rotation, translation, scaling,shearing,reflection) 其主要原理为:如果我们有一个点变换之前是[x,y,1],变换后是[x’,y’,1] 则fullAffine表示如下: TX=Y 展开后表示 如果我们想求这【a-f】

MATLAB标定单、双目相机及参数导出程序

ε祈祈猫儿з 提交于 2019-12-23 04:17:50
为什么需要相机标定 标定是为了能够从空间点的像素坐标映 射到世界坐标,这是3D立体视觉必须经过的过程。 相机标定的四个坐标系 1.1.1. 相机坐标与世界坐标系转换: 1.1.2. 相机坐标系与像平面坐标系转换: 1.1.3. 像素坐标与像平面转换: 1.2 世界坐标与像素坐标转换: 世界坐标系——相机坐标系——图像坐标系——像素坐标系 1.3 像素坐标与像平面之间的关系 单相机 2.1 相机畸变 2.1.1 径向畸变 引起径向畸变的主要因素: 透镜形状 2.1.2 切向畸变 引起切向畸变的主要因素: 透镜与成像平面不平行 2.2.1 像素坐标与像平面之间 2.2.2 单相机模型重建未知数分析 标定求得的为第二行的m_ij 双相机模型 matlab 4.1单目 就不贴贴图了 4.2双目 4.3 程序 将标定相机的参数导出Excel文件和TXT两种格式的程序 https://download.csdn.net/download/weixin_43198881/12046079 来源: CSDN 作者: Y夕 链接: https://blog.csdn.net/weixin_43198881/article/details/103654603

kitti 数据集解析

蓝咒 提交于 2019-12-23 02:07:57
1、KITTI数据集采集平台: KITTI数据采集平台包括2个灰度摄像机,2个彩色摄像机,一个Velodyne 3D激光雷达,4个光学镜头,以及1个GPS导航系统。坐标系转换原理参见 click 。KITTI提供的数据中都包含三者的标定文件,不需人工转换。 2、KITTI数据集,label文件解析: Car 0.00 0 -1.84 662.20 185.85 690.21 205.03 1.48 1.36 3.51 5.35 2.56 58.84 -1.75 第1个字符串:代表物体类别 'Car', 'Van', 'Truck','Pedestrian', 'Person_sitting', 'Cyclist','Tram', 'Misc' or 'DontCare' 注意:’DontCare’ 标签表示该区域没有被标注,比如由于目标物体距离激光雷达太远。为了防止在评估过程中(主要是计算precision),将本来是目标物体但是因为某些原因而没有标注的区域统计为假阳性(false positives),评估脚本会自动忽略’DontCare’ 区域的预测结果。 第2个数:代表物体是否被截断,从0(非截断)到1(截断)浮动,其中truncated指离开图像边界的对象 第3个数:代表物体是否被遮挡,整数0,1,2,3表示被遮挡的程度 0:完全可见 1:小部分遮挡 2:大部分遮挡 3