最近在搞opencv来做一些简单的图像识别,既然涉及到图像识别,那么首先我们要把图像重新认识一下,大部分人看到一张照片可能就是单纯的一张照片,在一些做图像处理的人的眼中,可不就这么简单了。
### 计算机图形的分类
(1)位图(Bitmap)
也叫做点阵图,删格图象,像素图,简单的说,就是最小单位由象素构成的图,缩放会失真。构成位图的最小单位是象素,位图就是由象素阵列的排列来实现其显示效果的,每个象素有自己的颜色信息,在对位图图像进行编辑操作的时候,可操作的对象是每个象素,我们可以改变图像的色相、饱和度、明度,从而改变图像的显示效果。举个例子来说,位图图像就好比在巨大的沙盘上画好的画,当你从远处看的时候,画面细腻多彩,但是当你靠的非常近的时候,你就能看到组成画面的每粒沙子以及每个沙粒单纯的不可变化颜色
(2)矢量图(Vector)
也叫做向量图,简单的说,就是缩放不失真的图像格式。矢量图是通过多个对象的组合生成的,对其中的每一个对象的纪录方式,都是以数学函数来实现的,也就是说,矢量图实际上并不是象位图那样纪录画面上每一点的信息,而是纪录了元素形状及颜色的算法,当你打开一付矢量图的时候,软件对图形象对应的函数进行运算,将运算结果[图形的形状和颜色]显示给你看。无论显示画面是大还是小,画面上的对象对应的算法是不变的,所以,即使对画面进行倍数相当大的缩放,其显示效果仍然相同[不失真]。举例来说,矢量图就好比画在质量非常好的橡胶膜上的图,不管对橡胶膜怎样的常宽等比成倍拉伸,画面依然清晰,不管你离得多么近去看,也不会看到图形的最小单位。
两者的优缺点:
位图的好处是,色彩变化丰富,编辑上,可以改变任何形状的区域的色彩显示效果,相应的,要实现的效果越复杂,需要的象素数越多,图像文件的大小[长宽]和体积[存储空间]越大。
矢量的好处是,轮廓的形状更容易修改和控制,但是对于单独的对象,色彩上变化的实现不如位图来的方便直接。另外,支持矢量格式的应用程序也远远没有支持位图的多,很多矢量图形都需要专门设计的程序才能打开浏览和编辑。
常用的位图绘制软件有adobe photoshop、corel painter等,对应的文件格式为[.psd .tif][.rif]等,另外还有[.jpg][.gif][.png][.bmp]等。
常用的矢量绘制软件有adobe illustrator、coreldraw、freehand、flash等,对应的文件格式为[.ai .eps][.cdr][.fh][.fla/.swf]等,另外还有[.dwg][.wmf][.emf]等。
矢量图可以很容易的转化成位图,但是位图转化为矢量图却并不简单,往往需要比较复杂的运算和手工调节。
矢量和位图在应用上也是可以相互结合的,比如在矢量文件中嵌入位图实现特别的效果,再比如在三维影象中用矢量建模和位图贴图实现逼真的视觉效果等等。
这两种图形都被广泛应用到出版,印刷,互联网[如flash和svg]等各个方面,他们各有优缺点,两者各自的好处几乎是无法相互替代的,所以,长久以来,矢量跟位图在应用中一直是平分秋色。
### 数字图像的分类
数字图像,是二维图像用有限数字数值像素的表示。通常,像素在计算机中保存为二维整数数组的光栅图像,这些值经常用压缩格式进行传输和储存。
数字图像可以许多不同的输入设备和技术生成,例如数码相机、扫描仪、坐标测量机、seismographic profiling、airborne radar等等,也可以从任意的非图像数据合成得到,例如数学函数或者三维几何模型,三维几何模型是计算机图形学的一个主要分支。数字图像处理领域就是研究它们的变换算法。
每个图像的像素通常对应于二维空间中一个特定的'位置',并且有一个或者多个与那个点相关的采样值组成数值。根据这些采样数目及特性的不同数字图像可以划分为:
(1)二值图像:
图像中每个像素的亮度值(Intensity)仅可以取自0或1的图像,因此也称为1-bit图像。
(2)灰度图像:
也称为灰阶图像: 图像中每个像素可以由0(黑)到255(白)的亮度值(Intensity)表示。0-255之间表示不同的灰度级。
(3)彩色图像 (Color image):
彩色图像主要分为两种类型,RGB及CMYK。其中RGB的彩色图像是由三种不同颜色成分组合而成,一个为红色,一个为绿色,另一个为蓝色。而CMYK类型的图像则由四个颜色成分组成:青C、品M、黄Y、黑K。CMYK类型的图像主要用于印刷行业。
(4)假彩色图像
(5)多光谱图像(Multi-spectral)
thematic
(6)立体图像:
立体图像是一物体由不同角度拍摄的一对图像,通常情况下我们可以用立体像计算出图像的深度信息。
(7)三维图像:
三维图像是由一组堆栈的二位图像组成。每一幅图像表示该物体的一个横截面。
### 常见的图像术语
(1)像素:
每张图片都是由色点组成的,每个色点称为一个像素。一张图片由30万个色点组成,这个图片的像素就是30W。我们常说相机是多少像素,这个像素就是说这款照相机的感器件有多少个,有100W个感光器件的相机就是100W像素的相机,有4000W个感光器件的相机就是4000W像素,以此类推。一台100W像素的相机拍摄的照片洗成5寸的照片会比洗成6寸清晰一点。
(2)图像分辨率:
图像分辨率是指每英寸图像内的像素点数。图像分辨率是有单位的,叫 像素每英寸。分辨率越高,像素的点密度越高,图像越逼真(这就是为什么做大幅的喷绘时,要求图片分辨率要高,就是为了保证每英寸的画面上拥有更多的像素点)。
(3)屏幕分辨率:
屏幕分辨率是屏幕每行的像素点数*每列的像素点数,每个屏幕有自己的分辨率。屏幕分辨率越高,所呈现的色彩越多,清晰度越高。
### 图像处理的一些降维手段
在图像识别领域,我们操作的基本都是位图,通常情况下,我们手机拍出来的照片我们称为彩色图像也称为:RGB图像,它既包含了颜色也包含了色彩强度(也可以成为亮度),反映到计算机里面,彩色图像是由3个维度组成:[ x,y,(R,G,B) ]其中R,G,B的每一个取值都可以是0-255之间的任意一个整数,所以我们称彩色图片是三维矩阵(matrix)= x * y * 3
在图像处理领域,通常在拿到一张彩色图片后,第一步基本都是先做灰度(grayscale),灰度图像,我们可以理解为它去掉了彩色图片中的颜色,只留下的色彩强度(也可以成为亮度)
,这样以来就变成了一个二维矩阵 = x * y * 1 组成是: [x,y,(0-255)]。
灰度是指黑白图像中点的颜色深度,范围一般从0到255,白色为255 ,黑色为0,故黑白图片也称灰度图像,在医学、图像识别领域有很广泛的用途,比如医学的X光,磁共振,CT出来的胶片都属于灰度照片。
彩色图片转灰度照片的几种方法:
````
1.浮点算法:Gray=R*0.3+G*0.59+B*0.11
2.整数方法:Gray=(R*30+G*59+B*11)/100
3.移位方法:Gray =(R*28+G*151+B*77)>>8;
4.平均值法:Gray=(R+G+B)/3;
5.仅取绿色:Gray=G;
````
在做过灰度之后,下一步就是做二值化进一步简化色彩,整个图片只能有有黑白两种颜色,它仍然属于二维矩阵=x * y * 1 组成是: [x,y,(0 or (1 or 255))]。注意0代表黑色,1和255代表白色,灰度图片转为二值图片,非常简单就是把像素里面的亮度小于某一个阈值(通常是127)设置成0,大于127的转化为255通常用1代替。
这里看出来的基本思想就是降维,在图片降维后,它的处理复杂度变得更小,更有利于我们找图像的梯度或者特征值,当然并不是所有的图片处理都要这么做,也分场景。
### 总结:
本文介绍了计算机图形处理的相关基础知识,如图形的种类,数字图像的分类,处理图片的一些降维手段以及RGB图像与灰度和二值化的图像的区别,了解这些之后对于我们处理图像会有很大帮助,从而做到知其然也要知其所以然。
有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。 技术债不能欠,健康债更不能欠, 求道之路,与君同行。
参考链接:
https://zh.wikipedia.org/wiki/%E6%95%B0%E5%AD%97%E5%9B%BE%E5%83%8F
https://zh.wikipedia.org/wiki/%E7%9F%A2%E9%87%8F%E5%9B%BE%E5%BD%A2
https://zh.wikipedia.org/wiki/%E4%BD%8D%E5%9B%BE
http://www.cnblogs.com/areliang/archive/2006/04/29/388769.html
https://www.quora.com/Does-grayscale-image-means-1-dimensional-image
https://www.quora.com/What-is-the-difference-between-a-binary-image-and-a-gray-scale-image
分享到:
相关推荐
有关于图像处理入门的基础知识,对计算机图形学有一个基本的认识。资源的篇幅不追求于细节,只要求读者不徘徊于茫茫书海之中。
计算机图形学 计算机图形学:是研究怎样用计算机表示、生成、处理和显示图形的一门学科。 图形按基本的处理技术划分只有两类: 线条,如工程图、地图、曲线图表等 明暗图,与照片相似
本书在系统介绍计算机图形学算法及原理基础上,利用 Visual C++开发环境,编制...简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。
计算机图形图像处理001,主要为计算机图形图像处理的基础知识!
本书由基础知识、用户界面、模型定义和图像合成四个部分组成,内容覆盖了日趋成熟的计算机图形学领域各个方面,包括二维、三维图形学的数学基础,重要算法,光栅图形硬件和软件,交互技术及用户界面软件,真实感图形...
详细讲述了计算机图形学基本知识。计算机图形学是研究怎样用数字计算机生成、处理和显示图形的一门学科。图形主要分为两类: 基于线条信息表示的,如工程图、等高线地图、曲面的线框图等 明暗图(Shading),也就是...
计算机图形学与图形图像处理技术研究 (1).pdf
计算机图形学是研究计算机生成、处理和显示图形的学科,其基本任务是使学生通过学习本课程,掌握计算机图形学的基本原理和基本方法,为今后从事计算机辅助设计和制造、科学计算可视化、计算机图形处理等方面的工作...
计算机图形学pdf 内容可copy 适合要学习开发3d游戏的朋友们学习 希望对大家有所帮助 目录: 第1章基本图形的生成 1.1 直线 1.1.1 生成直线的DDA 算法 1.1.2 生成直线的中点算法 1.1.2 生成直线的Bresenham算法 ...
在计算机中,图像类型分为两种:矢量式图像和位图式图像。这两种类型的图像各有优缺点,因此在绘图中,常常需要将这两种类型的图像综合使用,才能使作品完善。
1)计算机图形的构成及其表示 2)点阵图形的基本算法(增量DDA...10)计算机图形中真实感图形设计(光与颜色的基本知识、光的传播规律、明暗处理、阴影处理、纹理映射) 11)图形交互技术和用户界面设计 12)计算机图形动画设计
4.1.2 计算机图形学绘图系统设计基本原则 79 4.1.3 图形程序设计步骤 79 4.1.4 在Visual C++集成开发环境下程序的调试 81 4.1.5 计算机程序结构设计基础 81 4.1.6 绘图程序设计基本方法 82 4.2 图形的数据结构 85 ...
本书采用面向对象的方法介绍数字图像和图形处理的实用编程技术... 本书作者多年来致力于计算机图形图像学的研究,本书特别适合于具有计算机图形学和数字图像处理基本知识的计算机软件开发人员和工程技术人员等阅读。
依据陈传波的计算机图形学制作的课件 第四章 图形的表示与数据结构1
孪烫饭羊置牺那改晨剖徽长尘翘峨慑又篡牛禽裸钓铣咕迁休罕迈《计算机图形图像处理P hotoshop》课程标准 衡阳技师学院 龙大奇 长沙财经职业中专 吴玉桃 课程名称:计算机图形图像处理Photoshop 建议学时:96~108 适用...
这是向世明 同志的大作,我很钦偑,觉得整个系统很完整,完全面向...本书基于标准的图形技术开发路线,以类的形式重组了计算机图形学的基本知识。既能使读者从中体验图形开发的整个过程,也便于读者获取所需要的代码。
计算机图形图像处理技术及应用研究.pdf
计算机图形图像处理技术研究 (2).pdf
计算机数字化技术发展带动计算机相关设备如数码相机、摄像机、电脑显示器、各种打印设备等应用越来越广泛。...文章首先概括介绍计算机图像处理基础知识,然后分别对图像颜色处理和转换进行详细介绍。