相机

安卓 调用系统相机并裁剪

家住魔仙堡 提交于 2020-01-16 05:32:39
做程序猿已有一段时间,东西也做了挺多,今天刚开通了博客,把我之前做过的东西记录下来,今天先写安卓系统下调用系统照相机并裁剪 之前做调用系统相机的时候遇到过很多问题,现在贴代码,在代码中一点点提出 btn.setOnClickListener(new OnClickListener() {   @Override   public void onClick(View v) {     Intent intent;     String fileName = System.currentTimeMillis() + ".png";     logoTempPath = LOGO_BASE_PATH + fileName;     intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);     intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(LOGO_BASE_PATH, fileName)));     startActivityForResult(intent, PHOTO_CAMERA);   } }); 以上是点击某个按钮调用系统相机,在这里注意一点: String fileName = System.currentTimeMillis() + "

【译】光线跟踪:理论与实现(一) 简介

让人想犯罪 __ 提交于 2020-01-15 07:07:33
光线跟踪的目的是为了模拟自然现象:你能见到各种颜色是因为太阳发射出来的光线,经过各种自然物体的反射或折射后,最终进入你的眼睛。若我们暂时不去计较其他因素,所有的这些光线都应该是直线。 如图所示,黄色的光直接从太阳射入照相机中;红色的光线在跟场景发生发射后到达照相机,而蓝色的光线被玻璃球折射后命中照相机。图中没有画出的是那些无法到达观察者的光线,这些光线也是我们不从光源往照相机进行跟踪的原因,而是采用想反的路径。上图标识的是一种理想情形,因为光线的方向没有影响。 从上面我们得到一个启示:与其等待光源发射一条光线穿过一个目前颜色还是黑色的像素,不如我们自己从照相机发射光线去穿过平面的每个像素,去观察这些光线能击中几何体上的哪些像素。 // ----------------------------------------------------------- // Ray class definition // ----------------------------------------------------------- class Ray { public : Ray() : m_Origin( vector3( 0 , 0 , 0 ) ), m_Direction( vector3( 0 , 0 , 0 ) ) {} ; Ray( vector3 & a_Origin,

针孔的相机成像模型

不羁的心 提交于 2020-01-13 13:55:57
为了比较清楚得说明这件事,笔者力求以最简洁的方式进行介绍, part1: 4个坐标系 :       1、世界坐标系(Xw、Yw、Zw)       2、相机坐标系(Xc、Yc、Zc)       3、像平面坐标系(X、Y)       4、像素平面坐标系(u、v) 3个坐标变换关系:       1、世界坐标系(Xw、Yw、Zw)->相机坐标系(Xc、Yc、Zc)       2、相机坐标系(Xc、Yc、Zc)->像平面坐标系(X、Y)       3、像平面坐标系(X、Y)->像素平面坐标系(u、v) part2: 以下的内容是对上述的7个概念做详细说明: 4个坐标系 : 世界坐标系 :即自然坐标系 相机坐标系 :以相机的的光心为原点,Z轴指向相机前方,x向右,y向下 像平面坐标系 :物理成像平面,在距相机光心一倍焦距的平面上(凸透镜成像实验的蜡烛成大小相等倒立的平面) 像素平面坐标系 :在距相机光心一个焦距的平面上,原点位于图像的左上角,u轴向右与x轴平行,v轴向下与y轴平行(在凸透镜成像实验的蜡烛成大小相等倒立的距离上放一个屏,相机中的这个位置是一个感光元件) 3个坐标变换关系 : (Xw、Yw、Zw)->(Xc、Yc、Zc) :世界坐标系向相机坐标系转换 这俩个坐标系之间的关系我们可以通过旋转矩阵R和平移矩阵t来得到: (Xc、Yc、Zc)->(X、Y)

针孔相机模型和变形

北战南征 提交于 2020-01-13 05:46:10
http://wiki.opencv.org.cn/index.php/Cv%E7%85%A7%E7%9B%B8%E6%9C%BA%E5%AE%9A%E6%A0%87%E5%92%8C%E4%B8%89%E7%BB%B4%E9%87%8D%E5%BB%BA http://oliver.zheng.blog.163.com/blog/static/14241159520133601847831 针孔相机模型和变形 这一节里的函数都使用针孔相机模型,这就是说,一幅视图是通过透视变换将三维空间中的点投影到图像平面。投影公式如下: 或者 这里(X, Y, Z)是一个点的世界坐标,(u, v)是点投影在图像平面的坐标,以像素为单位。A被称作摄像机矩阵,或者内参数矩阵。(cx, cy)是基准点(通常在图像的中心),fx, fy是以像素为单位的焦距。所以如果因为某些因素对来自于摄像机的一幅图像升采样或者降采样,所有这些参数(fx, fy, cx和cy)都将被缩放(乘或者除)同样的尺度。内参数矩阵不依赖场景的视图,一旦计算出,可以被重复使用(只要焦距固定)。旋转-平移矩阵[R|t]被称作外参数矩阵,它用来描述相机相对于一个固定场景的运动,或者相反,物体围绕相机的的刚性运动。也就是[R|t]将点(X, Y, Z)的坐标变换到某个坐标系,这个坐标系相对于摄像机来说是固定不变的

阵列相机光场去遮挡网络 DeOccNet (WACV2020)

China☆狼群 提交于 2020-01-11 23:52:15
【本文最后更新日期:2020年1月11日】 分享最近被 WACV2020 录用的一个光场去遮挡的工作 DeOccNet: Learning to See Through Foreground Occlusions in Light Fields ,相关公众号报道见 链接 。在这个工作中,我们使用阵列相机从不同的视角记录场景,并对场景的结构进行解析,提出了阵列相机去除前景遮挡成像新方法。作为领域内首个基于深度学习的去遮挡成像工作,我们提出遮挡物掩膜嵌入法(Mask Embedding)解决了训练数据缺乏的问题,并建立了仿真与实测数据集,供领域内算法进行测评。代码和数据集均已开源,研究者可以公开 下载 。 引言 在战场侦察、公安监视等领域,复杂的前景遮挡会给目标检测与跟踪等算法带来巨大的挑战。因此,可靠地去除前景遮挡物对于场景的智能感知与智能处理具有重要的意义。阵列相机可以获取当前场景不同视角处的图像,在某个视角中被遮挡的光线可以被其他位置的相机捕捉到。利用阵列图像之间的互补信息可以重建出被遮挡的背景物体,即实现前景遮挡的去除。本文提出了领域内首个针对光场去遮挡(LF-DeOcc)任务的深度学习网络DeOccNet,Fig. 1展示了本文算法的效果。Fig. 1(a)展示了渲染数据集中场景Syn01的结构,图中5*5的黄色方块表示阵列相机,Fig. 1(b

工业相机基础知识(一)

a 夏天 提交于 2020-01-09 02:11:26
CCD与CMOS 工业相机按照图像的传感器元件的不同分为CCD(Charge Coupled Device,电荷耦合元件)和CMOS(金属氧化物半导体元件)两类,两者的区别如下: 成像过程不同: CCD仅有一个(或少数几个)输出节点统一输出数据,信号一致性好,而CMOS芯片中每个像素都有自己的信号放大器,各自进行电荷到电压的转换,输出信号的一致性较差,比CCD的信号噪声更多,但是CMOS的一个显著优点是功效较低。 集成性不同: CCD的制造工艺复杂,输出的只是模拟电信号,还需要后续的译码器,模拟转换器,图像信号处理器等,集成度低。COMS可以把信号放大器,模数转换器等集成在一块芯片上,集成度高,成本低。随着CMOS成像技术的进步,CMOS未来会有越来越多的应用场景。 图像输出速度不同: CCD采用逐个光敏输出,速度较慢,CMOS每个电荷元件都有独立的装换控制器,读出速度很快,FPS在500以上的高速相机大部分使用的都是CMOS。 噪声方面: CCD技术较为成熟,成像质量相较CMOS具有一定优势,CMOS的集成度更高,各元器件间距距离更近,干扰更多。 线阵相机与面阵相机 线阵相机的传感器只有一行感光元素,一般应用于需要高频扫描和高分辨率的场合。线阵CCD的优点是一维像元数可以做到很多,一般长度有2K,4K,8K,12K,但线阵CCD获取图像必须配以扫描运动

像素与CCD之间的秘密知多少

点点圈 提交于 2020-01-09 01:09:53
虽然数码相机普及的速度实在太快,但对于数码相机真正了解的人却非常少。由于经常去卖场和经销商沟通,自然有了很多与普通消费者面对面的机会。   “麻烦问一下,这里有800万像素的数码相机吗?”   “怎么才300万像素呀,听说这样的机器拍出来照片效果很差”   “我就是买画质好的数码相机,500万以下的您就别给我介绍了”   其实这些只是我选出了一些比较典型的例子,由于消费者对于像素认识上的误区,所以很容易将画质和像素联系在一起,错觉上认为高像素,拍出来的照片就一定清晰,其实不然。   对于消费级数码相机来说,特别是强调性价比的家用型数码相机,如果一味的追求高像素,则很可能损失相机本身的功能,例如像变焦、微距、甚至镜头素质,就单一的成像而言,画质的优良与镜头、CCD、数字处理芯片等多个部件都有关系,特别是CCD感光元件,并非是大家想象的那样,像素越高,画质就越清晰,相反,如果在CCD尺寸不变的情况下,像素越高,画质就越不清晰。接下来我们就从原理来给大家分几个点介绍什么是CCD感光元件,像素值多少才最合适。 一.CCD究竟是什么?   CCD传感器又叫电荷耦合器,它是一种特殊的半导体材料,由大量独立的感光二极管组成,一般按照 矩阵 形式排列,相当于 传统相机 的胶卷。   目前,CCD的种类有很多,其中面阵型CCD是主要应用在数码相机中。它是由许多单个感光二极管组成的阵列,整体呈正方形

机器视觉入门

烈酒焚心 提交于 2020-01-08 22:04:02
机器视觉入门知识总结 一、机器视觉系统 工业相机类型: 按照输出信号类型的不同分为模拟相机和数字相机两种。而数字相机按照接口标准不同,可以分为1394相机、USB相机、CameraLink相机以及Gige相机四种。其中CameraLink接口相机能够解决大数据量传送问题;Gige接口相机能够解决长距离、快速传输问题;而1394相机和USB接口相机具有简单易用、性价比高等特点; 镜头接口类型: C接口、CS接口、U接口等; 光源类型: 环形光源、背光源、同轴光源、条形光源、点光源、球积分光源等; 二、如何选择相机? 1 、根据应用的不同分别选用 CCD 或 CMOS 相机 CCD工业相机主要应用在运动物体的图像提取,当然随着CMOS技术的发展,很多贴片机也在选用CMOS工业相机。用在视觉自动检查的方案或行业中一般用CCD工业相机比较多。CMOS工业相机由成本低,功耗低也应用越来越广泛。 2 、分辨率的选择   根据系统需求来选择分辨率大小。首先考虑待观察或待测量物体的精度,根据精度选择分辨率。相机像素精度=单方向视野范围大小/相机单方向分辨率。则相机单方向分辨率=单方向视野范围大小/理论精度。若单视野为5mm长,理论精度为0.02mm,则单方向分辨率=5/0.02=250。然而为增加系统稳定性,不会只用一个像素单位对应一个测量/观察精度值,一般可以选择倍数4或更高

机器视觉 - 相机

瘦欲@ 提交于 2020-01-08 10:27:36
在机器视觉中,相机的作用是将通过镜头的光信号转换为电信号,其中最重要的组成部件是数字传感器,最为常用的有CCD(Charge-coupled device)和CMOS(cnmplementary metal-oxide semiconductor)两种。 1.CCD于CMOS的区别 (1)成像过程 CCD 和 CMOS 使用相同的光敏材料,因而受光后产生电子的基本原理相同,但是读取过程不同:CCD 是在同步信号和时钟信号的配合下以帧或行的方式转移,整个电路非常复杂,读出速率慢;CMOS 则以类似 DRAM的方式读出信号,并行读取,电路简单,读出速率高。 CCD数据读取结构图 CMOS图像读取结构图 (2)集成度 采用特殊技术的CCD读出电路比较复杂,很难将A/D转换、信号处理、自动增益控制、精密放大和存储功能集成到一块芯片上,一般需要 3~8 个芯片组合实现,同时还需要一个多通道非标准供电电压。 借助于大规模集成制造工艺,CMOS图像传感器能非常容易地把上述功能集成到单一芯片上,多数CMOS图像传感器同时具有模拟和数字输出信号。 (3)电源、功耗和体积 CCD电荷耦合器大多需要三组电源供电,耗电量较大;CMOS光电传感器只需使用一个电源(3V~5 V),耗电量非常小,仅为CCD电荷耦合器的1/8到1/10,高度集成CMOS 芯片可以做的相当小

工业相机基本参数以及选型参考(二)

橙三吉。 提交于 2020-01-08 07:05:21
分辨率 相机每次采集图像的像素点数,一般对应于光电传感器靶面排列的像元数,如1920*1080。 像素深度 每位像素数据的位数,常见的是8bit,10bit,12bit。分辨率和像素深度共同决定了图像的大小。例如对于像素深度为8bit的500万像素,则整张图片应该有500万*8/1024/1024=37M(1024bit=1KB,1024KB=1M)。增加像素深度可以增强测量的精度,但同时也降低了系统的速度,并且提高了系统集成的难度(线缆增加,尺寸变大等)。 最大帧率/行频 相机采集和传输图像的速度,对于面阵相机一般为每秒采集的帧数(Frames/Sec),对于线阵相机为每秒采集的行数(HZ)。 曝光的方式和快门速度 工业线阵相机都是逐行曝光的方式,可以选择固定行频和外触发同步的方式,曝光时间可以与行周期一致,也可以设定一个固定的时间;面阵相机有帧曝光、场曝光和滚动曝光几种常见方式,工业数字相机一般都提供外触发采图的功能,快门速度一般可到10ms,高速相机还会更快。 像元尺寸 像元大小和像元数(分辨率)共同决定了相机靶面的大小。目前工业数字相机像元尺寸一般位3μm~10μm,一般像元尺寸越小,制造难度越大,图像质量也越不容易提高。 光谱响应特性 是指该像元传感器对不同光波的敏感特性,一般响应范围为350nm~1000nm,一些相机在靶面前面加了一个滤镜,滤除红外线