数字图像处理篇(1)数字图像基础
在正式讲解之前,小编先说明一下:本系列(专栏)主要讲述的是数字图像处理与计算机视觉两方面的知识,其中数字图像处理偏向于基础,计算机视觉是在数字图像处理的基础上搭建的学科,稍微难一点点。也就是说,小编可能会更新几篇数字图像处理的文章,然后突然涉及到计算机视觉的知识时,又会发表篇计算机视觉的文章。同时,后续小编将在机器学习-python专栏里更新OpenCV库的相关函数的用法,帮助大家完成数字图像处理与计算机视觉的实践。那么就让我们带着好奇心,一起走进计算机图像的王国吧!
目录
1、人类视觉基础
a、人眼的结构
b、RGB模型
2、数字图像化
a、引入
b、数字图像表示
二值图像
灰度图像
彩色图像
3、图像增强简介
a、引例
b、空域图像增强
1、人类视觉基础
a、人眼的结构
想要弄清楚计算机视觉,我们先得学习我们人类的视觉形成。
那么学到这里,你会发现,奇奇怪怪的知识又增加了!
b、RGB模型
现在,让我们思考一个问题:在森林中,草是绿色的,那么为什么没有绿色皮毛的哺乳动物?如果是绿色的皮毛岂不是不容易被天敌看到,更容易活下去呢?
读者们可能百思不得其解?啥啥啥?小编的这个问题和计算机视觉有啥关系?不会是想逗我玩吧?
欸?此言差矣!小编是这么无聊的人吗?(卖萌中)
言归正传,小编引入这个问题是想介绍人的视锥细胞这个概念。人具有三种视锥:长波(L)视锥细胞 —— 红色光谱区域、中波(M)视锥细胞—— 绿色光谱区域以及短波(S)视锥细胞—— 蓝色光谱区域。如下图:
但是,绝大多数哺乳动物其实都只有两种视锥细胞的,即中波视锥细胞与长波视觉细胞重合到一块儿去了,也就是二色视,所以说在它们的视觉里,分不清绿色和红色。也就是会出现下面的情况:
这里顺便科普一下,如果一个人也是二色视,那么他就会被定义为红绿色盲。
那么,基于人的视觉特性,我们理所当然的建立了一种色彩模型-----RGB模型。R代表red红色,G代表green绿色,B代表blue蓝色。相信我们很多读者在小的时候玩过混色游戏:把一块红色的橡皮泥和一块蓝色的橡皮泥揉到一起,会形成一块紫色的橡皮泥。但是!这条规则并不适用于计算机!在计算机里不是这样子混合的!在计算机的世界里,红绿蓝的比重越大,得到的颜色会更亮,也就是说,红色加蓝色会得到粉色,红色加蓝色加绿色会得到白色。
怎么样,是不是三观都要裂开了?这叫人怎么记嘛,完全颠覆了认知,呜呜呜呜……
其实吧,这倒也不需要我们去记住,只是稍微科普一下,了解一下就够了。
也就是说,在RGB模型中,任何一个颜色,都能用下边的一个坐标表示出来,比如说黑色是(0,0,0),白色是(1,1,1)……
2、数字图像化
a、引入
请凭第一直觉,判断出下面的乐高拼图拼的是哪一副世界名画?
小编的内心:应该不会有人连《蒙娜丽莎》都不知道吧?
计算机把每张图片内的每一个“积木”称之为像素,它是我们研究数字图像的基本单位。每一幅图像在计算机内部都是一个矩阵。矩阵的坐标分的越细,分辨率则越高。而矩阵每个坐标的值,则代表着它在这一点上对应的颜色。
计算机处理图像,是一个“变魔术 ”的过程,“魔”指的是模拟图像:又称连续图像,像素数量和取值均是无限的,“术”指的是数字图像:又称离散图像,像素数量和取值均是有限的。计算机会将模拟图像变成数字图像。
如下图:
我们可以得出结论:采样点数越高,空间分辨率越高,图像细节越清晰 ;量化级数越高(也就是用的“积木”颜色种类越多),幅度分辨率越高,图像色彩越丰富。
b、数字图像表示
二值图像
图像中每个像素只能为黑或白,没有中间过渡,二值图像只有两个灰度级:0和1,0代表黑,1代表白。理论上只需要一位二进制位来表示。
灰度图像
灰度图像指图像中每个像素的信息由一个量化的灰度级来描述,用来表示该点的亮度水平,没有颜色信息。
通常用一个字节来存储灰度值,可以表达的灰度级为256 ,即像素灰度值的取值区间为[0,255]。 0表示纯黑色, 255表示纯白色。
彩色图像
还记得我们刚刚学习的RGB模型吗,彩色图像的表示与它有关。
彩色图像是指每个像素的信息由RGB三原色构成的图像,其中RGB由不同的灰度级来描述。每个像素用红、绿、蓝三元组来表示。
我们用python看看,彩色图像在计算机里面是什么样子
小编用的是这张照片:
用python看,结果如下图:
可以发现:果然,每一个像素都是三元组的形式!
3、图像增强简介
a、引例
思考一个问题,如何让一张图变亮?
相信不少读者会想到,既然(255,255,255)代表白色,那么我们能不能增加每一个点在RGB每个通道上的数值,让它越来越靠近(255,255,255),最终使这张图变亮?
如果有这个想法的同学,小编要恭喜你,你已经无师自通了数字图像的加法,不过美中不足的是,你少考虑了一点东西。如果加超了会怎么样?比如说230+30=260,但计算机可不会认为这一点超过了255,那他一定是一个比255更白的点,它会认为是260-256=4,也就是说,这一点会变成特别黑的点。
所以我们可以设计一个函数,当加法超过255时,这一点的数字就是255,这样才能让图像真正的变亮。如下图,是小编利用python使图像变亮的最后结果。
b、空域图像增强
图像增强:图像增强是指按特定的需要突出一幅图像中的某些信息,同时,削弱或去除某些不需要的信息的处理方法。不存在图像增强的通用理论,具有主观性。
空域图像增强分为两类:
点运算:基于点操作,将每一个像素的灰度值按照一定的数学变换公式转换为一个新的灰度值。常用的点运算方法:灰度变换增强、直方图均衡化等方法。
空间滤波:基于邻域处理,应用某一模板对每个像素及其周围邻域的所有像素进行某种数学运算,得到该像素的新的灰度值。常用的空域滤波:图像平滑与锐化技术。
小编在这里先卖一个关子,下面是我在下一篇文章中要写的内容脉络,如果感兴趣的话,不如来关注一下小编,嘻嘻。
欲知数字图像处理的更多知识,请点赞并关注小编,小编在此感谢各位读者啦!
数字图像处理篇(1)数字图像基础相关推荐
- 数字图像处理第二章——数字图像基础
目录 一.视觉感知要素: 1. 图像形成 2.亮度适应与鉴别 二.图像的形成 2.1 图像的感知与获取 2.1.1感知 2.1.2 图像的形成模型 2.2 取样与量化 2.2.1取样与量化的概念 2. ...
- 数字图像处理——第二章 数字图像基础
文章目录 数字图像基础 1. 基本概念 2. 视觉感知要素 2.1 人眼结构中的成像要素 2.2 人眼成像的参考意义 3. 图像的获取.取样.量化 3.1 图像的感知和获取 3.2 图像取样和量化 3 ...
- 数字图像处理 第二章数字图像基础
第二章 数字图像基础 本章全都不是重点,了解就好 目标 人体视觉感知 光和电磁波谱 成像模型 图像取样与量化 一些基本概念和数学处理方法 人体视觉感知 人眼结构 上图为人眼剖面图. 人眼是一个直径约为 ...
- 数字图像处理 第二章 数字图像基础
1.视觉感知要素 ①人眼剖面简图 ②锥状体与杆状体 视网膜有两类感光器:锥状体和杆状体.锥状体视觉成为白昼视觉或亮视觉.,对颜色高度敏感.而且每个锥状体都连接到神经末梢,人可以充分地分辨图像细节. 杆 ...
- 数字图像处理--1.2数字图像基础
目录 一.人眼视觉原理 1.人眼构造 2.主观亮度 3.视觉特性 二.连续图像的获取 三.连续图像的描述 四.图像数字化 五.数字图像的表示 1.数字图像表示方式 2.数字图像分类 3.图像文件格式 ...
- 数字图像处理第二章----数字图像基础
文章目录 1.三原色基础 2.人眼视觉特性 3. 图像数字化 3.1 定义 3.2 采样 3.3.量化 4.数字图像性质 4.1 分辨率 4.2 像素深度 4.3 位面数量 5.像素间的基本关系 5. ...
- 基于skimage的数字图像处理(一)——基础
数字图像处理 基础 前言 一.skimage是什么? 1.模块内容 2.安装skimage包 二.图片显示 三.图片的基本属性信息 四.图像通道 总结 前言 简单了解数字图像处理的基本概念.主要内容和 ...
- 【数字图像处理】认识数字图像和数字图像处理
作者介绍:小星的学习笔记 提示:此处为数字图像处理课的复习的学习笔记,仅供参考. 文章目录 前言 一.数字图像是什么? 二.数字图像与图形的区别 三.数字图像处理的研究方向及其操作功能概述 总结 前言 ...
- 数字图像处理篇(7)角点检测
一.引言 读者们跟着小编学了这么久的数字图像处理,是时候带领大家看看我们学校的建筑啦!(这是小编所在大学的计算机学院,没准小编还能遇到校友呢) 相信不少的读者都注意到了左上角的A.B.C,并且喃喃的吐 ...
- C++数字图像处理篇之图像加马赛克
马赛克是一种广为使用的图像处理手段,它是将影像特定区域的色阶细节劣化并造成色块打乱的效果.这种模糊看样子像一个个小格子,所以被称为马赛克.马赛克主要的目的就是使图像内容无法辨认,以保护特殊图像内容.这 ...
最新文章
- PageHelper 在 Spring Boot + MyBatis 中合理且规范的使用方法
- Vivado和Quartus ii 中工程存档(Archive project)及打开
- [每天进步一点 -- 流水账]第3周
- sdut 2087 离散事件模拟-银行管理
- php中怎么过滤器_PHP 过滤器
- springboot做网站_Github 上 Star 最多的个人 Spring Boot 开源学习项目
- cocos2d之json使用实例
- link标签 rel=“ alternate“ 应用解析
- PPT计算机辅助教学,教学ppt课件制作的几点心得
- 记一次使用verdaccio 搭建本地私有npm服务器
- matlab安时积分法计算soc,一种带加权的安时积分的SOC估算方法与流程
- Spring Boot整合Redis-lesson8
- python 指定值的位置_python数组查找某个值的位置
- Cesium加载建筑物模型(shp转Geojson\3Dtiles)
- oracle命令清空数据库表,Oracle中如何快速删除数据字典管理的表空间-数据库专栏,ORACLE...
- CSS小游戏2048—简单小游戏编程有手就行~会玩?你会写吗?
- 艾宾浩斯遗忘曲线PHP,艾宾浩斯遗忘曲线计划表打印版
- 无线接入认证服务器,搭建基于AD和IAS的802.1X无线认证系统
- 商业数据分析师——IT和商业之间的纽带
- 屏蔽android的menu键,使menu键不能用,自定义menu键
热门文章
- 【C语言】扫雷(递归展开 + 标记功能)
- mysql数据库加密方法l_使用透明数据库加密
- 量子化学计算机程序,量子化学程序gaussian原理与功能.ppt
- 推荐两个好用的小工具
- linux 下查看硬件信息(mac,IP地址,硬盘型号,序列号等)
- 3G模块拨号上网设置APN,拨号号码,帐号和密码
- hdu4747(求mex区间之和)
- 标准化、归一化等的适用范围
- 【CodeVS3100】蜗牛
- “动力电池第三极“中创新航IPO,能否“复刻“宁德时代?