图像像素

数码相机专业术语解释

时光怂恿深爱的人放手 提交于 2020-02-11 10:54:39
数码相机专业术语解释 在选购数码相机的时候,相信很多人会对数码相机各种纷繁复杂的参数搞得头昏脑胀。由于数码影像技术发展迅速,即使是常常关注这一行的人也常会对一些新出现的技术感到迷惑不解。现在就把目前市面上主要的技术指标的定义讲一下,希望对消费者们购买数码相机有帮助。      一:基础知识 像素、感光元件、尺寸、有效像素、分辨率      通常消费者最为关注的是相机的像素,像素也的确是数码相机最重要的一项硬指标,也就是说,像素高了不一定是好相机,但是像素太低(以目前的市场主流,300万以下就算比较低了)怎么都不能算是好相机。      像素:      要说像素首先得讲一下数码相机的感光原理,要拍照片首先要将光信号转换成电信号,这靠的就是感光元件(Sensor),在数码相机的镜头后面都有一块芯片,上面密密麻麻地挤满了这些感光元件,每个感光元件只能将很小的一点转换成图像,这些小的图像加起来就成了我们可以看见的图像了。讲到这里大家有点明白了吧,不错,像素其实就是这些感光元件,我们平时说的多少万像素就是这些感光元件的个数了。所以一般来讲像素越大,成像也就越清晰细腻,当然这其中还要受许多因素限制,下面会慢慢提到的。      接下来要讲的就是为什么高像素不一定是好相机的一个原因:尺寸      尺寸:      尺寸就是通常所的说的CCD尺寸、CMOS尺寸,常见的有2/3英寸,1/1

数字图像处理——第二章(数字图像基础)

蹲街弑〆低调 提交于 2020-02-09 03:21:11
数字图像基础 一、人眼结构 二、电磁波谱和光 2.1 电磁波谱 2.2 光 三、图像的数学模型 四、图像的取样和量化 4.1 取样和量化的概念 4.2 数字图像表示 4.3 空间和灰度分辨率 4.4 图像内插 4.5 像素间的一些基本关系 4.5.1 相邻像素 4.5.2 邻接性、联通性、区域和边界 4.5.3 距离度量 五、数字图像处理中的数学工具介绍 5.1 阵列与矩阵操作 5.2 线性操作和非线性操作 5.3 算术操作 5.4 集合和逻辑操作 5.4.1 集合操作 5.4.2 逻辑操作 5.5 空间操作 5.5.1 单像素操作 5.5.2 邻域操作 5.5.3 几何空间变换和图像配准 5.6 向量和矩阵操作 5.7 图像变换 5.8 概率方法 一、人眼结构 眼睛由三层膜包裹:角膜与巩膜外壳、脉络膜和视网膜。 角膜 是一种硬而透明的组织,覆盖着眼睛的前表面,巩膜是一层包围眼球其余部分的不透明膜。 脉络膜 包含血管网,是眼睛的重要滋养源。 视网膜 是眼睛最里面的膜。眼睛适当聚焦时,来自眼睛外部物体的光在视网膜上成像。感受器通过感受视网膜表面分布的不连续光形成图案。 光感受器分为: 锥状体和杆状体 。 每只眼睛中的锥状体数量约为600~700万个, 对颜色高度敏感 。使用锥状体人可以充分 分辨图像细节 (每个锥状体都连接到自身的神经末梢)。锥状体视觉称为 白昼视觉或亮视觉 。

OV5640(2):配置寄存器

谁都会走 提交于 2020-02-08 12:58:53
  上电之后要做的是通过 SCCB 协议对摄像头的寄存器进行配置,SCCB 协议在之前的博客中已经详细介绍过,其写和 IIC 完全相同,读和 IIC 相比多了个 STOP 信号。本篇博客不讲 SCCB,而是关注寄存器配置的要点。 一、图像窗口   由这段英文可知,OV5640使用寄存器 0x3800 ~ 0x3814 进行窗口设置。物理像素尺寸(Physical pixel size)是整个传感器的全部尺寸大小。ISP 输入尺寸是从像素阵列中读出来的全部尺寸。通常,ISP 的输入尺寸(input size)越大,图像的帧速率(frame rate)就越小。数据的输出尺寸(data out size)就是 OV5640 的图像输出尺寸了。图像尺寸和 ISP 的输入尺寸有关,也和当和 x_offset ,y_offset 这两个有关。 这些寄存器功能如下表所示:   0x3808 ~ 0x380B 用于设置输出的窗口大小,可根据需要进行修改。而其他寄存器大多时候使用预设值都没什么问题。 二、图像输出格式   OV5640支持多种图像数据格式,而 VGA 多使用 RGB565 格式,因此寄存器这边需要配置成 RGB565。 1、选定RGB   寄存器 0x501F 用于选择图像输出格式,我们需要 RGB 格式,因此低三位设置成 001,即 0x01。但是 RGB 有多种格式,如

图像处理之opencv图片几何变化操作大全

微笑、不失礼 提交于 2020-02-08 09:30:23
文章目录 1、opencv读取图片 2、opencv保存图片 3、图像质量压缩 3.1、有损压缩——jpg格式 3.2、无损压缩——png格式 4、像素操作 4.1、像素值的读取 4.2、像素值的写入 5、图片缩放 5.1、查看图片宽高 5.2、等比例缩放 5.2.1、直接定义比率 5.2.2、使用cv2.warpAffine()方法映射 5.2、非等比例缩放 5.2.1、最近临域插值 5.2.2、双线性插值 6、图片剪切 7、图片位移 7.1、使用opencv方法位移图片 7.2、使用数组方法位移图片 8、图片镜像 9、仿射变换 9.1、图片旋转 9.2、图片变形 1、opencv读取图片 cv2.imread()方法封装了4个步骤,分别为: 1、文件的读取 2、封装格式解析 3、数据解码 4、数据加载 import cv2 # 1、文件的读取 2、封装格式解析 3、数据解码 4、数据加载 img = cv2 . imread ( 'image1.jpg' , 1 ) #1表示彩色图片 #图片展示 cv2 . imshow ( 'image' , img ) #释放资源 cv2 . waitKey ( 0 ) cv2 . destroyAllWindows ( ) 2、opencv保存图片 import cv2 # 1、文件的读取 2、封装格式解析 3、数据解码 4、数据加载

【微信小程序】——rpx、px、rem等尺寸间关系浅析

会有一股神秘感。 提交于 2020-02-08 09:10:09
最近开发微信小程序,在写样式表的时候发现用PX的效果不太理想,而官方文档用rpx来做响应式布局单位,就仔细研究了下,在此做个小总结: 这里先引用官方定义的尺寸单位‘rpx’:可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。 看不懂?没关系,我们接着往下看.... 日常开发中,我们常用rem、em来做响应式布局的像素单位,他们都是相对单位。rem相对于文档的根元素,em相对于父元素。 那么问题来了,rpx到底是个啥?又该如何理解“750rpx = 375px = 750物理像素”这句话呢? 开始之前,我们先扯一扯像素、物理长度、设备独立像素、设备独立像素比都是些啥? 【像素】: 它不是自然界的物理长度,指基本原色素及其灰度的基本编码。 【物理像素】: 它是显示器(电脑、手机屏幕)最小的物理显示单位,每个物理像素由颜色值和亮度值组成。是不是有点眼熟?我们要记住物理像素指的是显示器上最小的点。 【设备独立像素】: 它又称密度无关像素,划重点——密度无关,是计算机程序实际处理的虚拟像素(如css的px),由相关关系转化为设备像素。这个相关关系就是指下面要介绍的——设备像素比 【设备像素比】: 设备像素比 = 物理像素 /

论文阅读一(武汉加油、中国加油、不好的事必将过去)

£可爱£侵袭症+ 提交于 2020-02-08 05:13:04
一、MID-Fusion: Octree-based Object-Level Multi-Instance Dynamic SLAM A.系统概述 图2显示了我们提出的系统的流程。它由四个部分组成: segmentation, tracking, fusion and raycasting 。每个输入的RGB-D图像都由Mask R-CNN处理以执行实例分割,然后进行几何边缘分割和计算运动残差以优化蒙版边界(第IV-D节)。对于tracking,我们首先根据不包括人类蒙版区域的所有顶点计算相机位姿(第IV-B节),然后从该位姿进行光线投射,以找出哪些物体在当前帧中是可见的。这也可以帮助将局部对象蒙版与现有对象模型相关联。我们评估每个对象的运动残差以确定其是否处于运动状态,然后追踪运动物体(第IV-C节)并根据静态世界(包括当前的静态对象)改进相机的位姿(第IV-B节)。使用相机和物体的估计位姿,将深度和颜色信息以及预测的语义和前景概率融合到物体模型中(第IV-E节)。 IV-F节介绍了可见物体的检测以及射线投射。 B.RGB-D Camera tracking 计算相机位姿分为两步 1.根据除人类外的所有模型的顶点计算相机位姿。 2.根据静态场景计算相机位姿。 通过最小化密集的点到面的ICP残差eg和光度(RGB)残差ep来进行这两个步骤

【学习笔记】OpenCv+C++(四)

家住魔仙堡 提交于 2020-02-08 04:08:09
图像的模糊 模糊原理 Smooth/Blur是图像处理中最简单和常用的操作之一 使用该操作的原因之一就为了给图像预处理时候减低噪声 使用Smooth/Blur操作器背后是数学的卷积计算 g(i,j) = 求和(f(i+k,j+I)h(k,I)) 通常这些卷积算子计算都是线性操作,所以有叫线性滤波 假设有6x6的图像像素点矩阵 卷积过程:6x6上面是个3x3的窗口,从左向右,从上向下移动 黄色的每个像个像素点之和取平均值赋给中心红色像素作为它卷积处理之后新的像素值。每次移动一个像素格。 边缘处理最简单的方法: 向外扩张。插值 归一化盒子滤波(均值滤波) 权重不同 高斯滤波 相对于均值滤波,会保留像素原有的特质 相关API 均值模糊 blur(Mat src,Mat dst,Size(xradius,yradius),Point(-1,-1)); //注意:point表示中心像素在哪里,(-1,-1)默认正中心 dst(x,y) = 求和(Kernel(x1,y1)*src(x+x1-anchor.x,y+y1-anchor.y)) 高斯模糊 GaussianBlur(Mat src,Mat dst,Size(11,11),sigmax,sigmay); 其中Size(x,y),x,y必须是正数而且是奇数 #include<opencv2/opencv.hpp> #include

自适应布局 的 解决方案

喜你入骨 提交于 2020-02-08 03:44:52
曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜。可没想到到了移动时代,为了处理各终端的适配而乱了手脚。对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论—— 手淘的H5页面是如何实现多终端的适配 ? 那么趁此 Amfe阿里无线前端团队双11技术连载 之际,用一个实战案例来告诉大家,手淘的H5页面是如何实现多终端适配的,希望这篇文章对大家在Mobile的世界中能过得更轻松。 目标 拿一个双11的Mobile页面来做案例,比如你实现一个类似下图的一个H5页面: 目标很清晰,就是做一个这样的H5页面。 DEMO 请用手机扫下面的二维码 痛点 虽然H5的页面与PC的Web页面相比简单了不少,但让我们头痛的事情是要想尽办法让页面能适配众多不同的终端设备。看看下图你就会知道,这是多么痛苦的一件事情: 点击 这里 查看更多终端设备的参数。 再来看看手淘H5要适配的终端设备数据: 看到这些数据,是否死的心都有了,或者说为此捏了一把汗出来。 手淘团队适配协作模式 早期移动端开发,对于终端设备适配问题只属于Android系列,只不过很多设计师常常忽略Android适配问题,只出一套iOS平台设计稿。但随着iPhone6,iPhone6+的出现,从此终端适配问题不再是Android系列了,也从这个时候让移动端适配全面进入到“杂屏”时代。 上图来自于

数字图像处理与分析---指纹图像增强

£可爱£侵袭症+ 提交于 2020-02-08 02:44:10
•​ 图1是一幅包含指纹的真实图像,请使用所学的图像处理技术进行处理,满足下面的要求: •​ 1. 使图像中的指纹更加清晰; •​ 2. 考虑到冬季皮肤粗糙的情况(成像时存在噪声,请自行添加噪声点),尽可能去除其中的噪声。 图1 基础题图像 目录 1需求分析... 3 1.1给指纹图像加噪声点... 3 1.2 指纹图像去除噪点... 3 1.3 图片转为灰度图... 4 1.4 灰度直方图... 4 1.5 图像分割... 4 1.6断点连接... 5 1.7 使得指纹图像平滑... 5 2 实现代码... 5 2.1 添加高斯噪声... 5 2.2 去除高斯噪声... 6 2.3 转换为灰度图... 6 2.4 计算灰度直方图... 7 2.5 指纹断点连接处理... 7 2.6 图片进行形态学开操作... 8 3 实验结果及分析... 8 4 附录... 13 4.1 代码目录... 13 1需求分析 根据题目要求,使得图像中的指纹更加清晰。给图像指纹加噪声点,尽可能去除其中的噪点。 1.1给 指纹图像加噪声点 使用高斯噪声给图片添加噪声点,高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性

关键点的描述符KeyPoint对象

夙愿已清 提交于 2020-02-07 23:52:54
corners:包含大量本地信息的像素块,并能够在另一张图中被快速识别 keypoints:作为 corners 的扩展,它将像素块的信息进行编码从而使得更易辨识,至少在原则上唯一 descriptors:它是对 keypoints 进一步处理的结果。通常它具有更低的维度,从而使得图像块能够在另一幅不同的图像中被更快地识别 KeyPoints对象 为了描述关键点,Opencv 关键点的类定义如下: class cv :: KeyPoint { public : cv :: Point2f pt ; // coordinates of the keypoint float size ; // diameter of the meaningful keypoint neighborhood float angle ; // computed orientation of the keypoint (-1 if none) float response ; // response for which the keypoints was selected int octave ; // octave (pyramid layer) keypoint was extracted from int class_id ; // object id, can be used to cluster