热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

《MATLAB图像处理375例》——第1章数字图像与MATLAB基础1.1数字图像处理简介...

本节书摘来自异步社区《MATLAB图像处理375例》一书中的第1章,第1.1节,作者:MATLAB技术联盟著,更多章节内容可

本节书摘来自异步社区《MATLAB图像处理375例》一书中的第1章,第1.1节,作者:MATLAB技术联盟著,更多章节内容可以访问云栖社区“异步社区”公众号查看

第1章 数字图像与MATLAB基础

图像是客观对象的一种相似性的、生动性的描述或写真,是人类社会活动中最常用的信息载体。或者说图像是客观对象的一种表示,它包含了被描述对象的有关信息,是人们最主要的信息源。

1.1 数字图像处理简介

MATLAB图像处理375例
数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。

1.1.1 什么是数字图像
图像有多种含义,其中最常见的定义是指各种图形和影像的总称。在理科的学习以及日常的学习或统计中,图像都是必不可少的组成部分,它为人类构建了一个形象的思维模式,有助于我们学习、思考问题。

随着数字技术的不断发展和应用,现实生活中的许多信息都可以用数字形式的数据进行处理和存储,数字图像就是这种以数字形式进行存储和处理的图像。

数字图像是指一个被抽样和量化后的二维函数(该二维函数由光学方法产生),采用等距矩形网格抽样,对幅度进行等间隔量化。一幅图像是指一个被量化的抽样数值的二维矩阵。

1.1.2 图像的分类
在计算机中,按照颜色和灰度的多少可以将图像分为二值图像、灰度图像、索引图像和真彩色RGB图像4种基本类型。目前,大多数图像处理软件都支持这4种类型的图像。

1.二值图像
一幅二值图像的二维矩阵仅由0、1两个值构成,“0”代表黑色,“1”代表白色。由于每一像素(矩阵中每一元素)取值仅有0、1两种可能,因此计算机中二值图像的数据类型通常为一个二进制位。二值图像通常用于文字、线条图的扫描识别(OCR)和掩膜图像的存储。二值图像如图1-1所示。

screenshot

2.灰度图像
灰度图像中矩阵元素的取值范围通常为[0,255]。因此其数据类型一般为8位无符号整数(int8),这就是人们经常提到的256灰度图像。“0”表示纯黑色,“255”表示纯白色,中间的数字从小到大表示由黑到白的过渡色。

在某些软件中,灰度图像也可以用双精度数据类型(double)表示,像素的值域为[0,1],0代表黑色,1代表白色,0到1之间的小数表示不同的灰度等级。二值图像可以看成是灰度图像的一个特例。灰度图像如图1-2所示。

screenshot

3.索引图像
索引图像的文件结构比较复杂,除了存放图像的二维矩阵外,还包括一个称之为颜色索引矩阵MAP 的二维数组。

MAP 的大小由存放图像的矩阵元素值域决定,如矩阵元素值域为[0,255],则MAP 矩阵的大小为256×3,用MAP=[RGB]表示。MAP中每一行的3个元素分别指定该行对应颜色的红、绿、蓝单色值,MAP 中每一行对应图像矩阵像素的一个灰度值,如某一像素的灰度值为64,则该像素就与MAP 中的第64行建立了映射关系,该像素在屏幕上的实际颜色由第64行的[RGB]组合决定。

也就是说,图像在屏幕上显示时,每一像素的颜色由存放在矩阵中该像素的灰度值作为索引通过检索颜色索引矩阵MAP 得到。

索引图像的数据类型一般为8位无符号整形(int8),相应索引矩阵MAP 的大小为256×3,因此一般索引图像只能同时显示256种颜色,但通过改变索引矩阵,颜色的类型可以调整。索引图像的数据类型也可采用双精度浮点型(double)。

索引图像一般用于存放色彩要求比较简单的图像,如Windows中色彩构成比较简单的壁纸多采用索引图像存放,如图1-3所示。如果图像的色彩比较复杂,就要用到真彩色RGB图像。

screenshot

4.真彩色RGB图像
RGB图像与索引图像一样都可以用来表示彩色图像。与索引图像一样,它分别用红(R)、绿(G)、蓝(B)三原色的组合来表示每个像素的颜色。

与索引图像不同的是,RGB图像每一个像素的颜色值(由RGB三原色表示)直接存放在图像矩阵中,由于每一像素的颜色需由R、G、B3个分量来表示,M、N分别表示图像的行列数,3个M×N的二维矩阵分别表示各个像素的R、G、B3个颜色分量。

RGB图像的数据类型一般为8位无符号整型,通常用于表示和存放真彩色图像,当然也可以存放灰度图像,如图1-4所示。
screenshot

1.1.3 图像文件格式
图像是对人类感知外界信息能力的一种增强形式,是自然界景物的客观反映,是各种观测系统以不同形式和手段观测客观世界而获得的、可以直接或间接作用于人眼的实体。

随着计算机技术的迅速发展,人们还可以人为地造出色彩斑斓、千姿百态的各种图像。以下是计算机支持的几种常用的图像文件格式。

1.BMP格式
BMP是英文Bitmap(位图)的简写,是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。

随着Windows操作系统的流行与丰富的Windows应用程序的开发,BMP格式理所当然地被广泛应用。

这种格式的特点是包含的图像信息较丰富,几乎不进行压缩,同时也导致了它与生俱来的缺点——占用存储空间过大。所以,目前BMP在单机上比较流行。

2.GIF格式
GIF是英文Graphics Interchange Format(图形交换格式)的缩写。顾名思义,这种格式是用来交换图片的。事实上也是如此,20世纪80年代,美国一家著名的在线信息服务机构CompuServe针对当时网络传输带宽的限制,开发出了这种GIF图像格式。GIF格式的特点是压缩比高,存储空间占用较少,所以这种图像格式迅速得到了广泛的应用。

最初的GIF只是简单地用来存储单幅静止图像(称为GIF87a),后来随着技术发展,可以同时存储若干幅静止图像进而形成连续的动画,使之成为当时支持2D动画为数不多的格式之一(称为GIF89a),而在GIF89a图像中可指定透明区域,使图像具有非同一般的显示效果,这更使GIF风光十足。目前Internet上大量采用的彩色动画文件多为这种格式的文件,也称为GIF89a格式文件。

此外,考虑到网络传输中的实际情况,GIF图像格式还增加了渐显方式,也就是说,在图像传输过程中,用户可以先看到图像的大致轮廓,然后随着传输过程的继续而逐步看清图像中的细节部分,从而适应了用户“从朦胧到清楚”的观赏心理。

但GIF有个小小的缺点,即不能存储超过256色的图像。尽管如此,这种格式仍在网络上大行其道,这和GIF图像文件短小、下载速度快、可用许多具有同样大小的图像文件组成动画等优势是分不开的。

3.JPEG格式
JPEG也是常见的一种图像格式,由联合照片专家组(Joint Photographic Experts Group)开发并以命名为“ISO 10918-1”,JPEG仅仅是一种俗称而已。JPEG文件的扩展名为 .jpg或 .jpeg?s=#xff0c;其压缩技术十分先进,它用有损压缩方式去除冗余的图像和彩色数据,获取得极高的压缩率的同时能展现十分丰富生动的图像,换句话说,就是可以用最少的存储空间得到较好的图像质量。

同时JPEG还是一种很灵活的格式,具有调节图像质量的功能,允许用不同的压缩比例对这种文件压缩,比如最高可以把1.37MB的BMP位图文件压缩至20.3KB。当然我们完全可以在图像质量和文件尺寸之间找到平衡点。

由于JPEG优异的品质和杰出的表现,它的应用也非常广泛,特别是在网络和光盘读物上。目前各类浏览器均支持JPEG这种图像格式,因为JPEG格式的文件尺寸较小,下载速度快,使得Web页有可能以较短的下载时间提供大量美观的图像,JPEG同时也就顺理成章地成为网络上最受欢迎的图像格式。

4.JPEG 2000格式
JPEG 2000同样是由JPEG组织负责制定的,有一个正式的名称即“ISO 15444”。与JPEG相比,它具备更高压缩率以及更多新功能的新一代静态影像压缩技术。JPEG 2000作为JPEG的升级版,其压缩率比JPEG高30%左右。

与JPEG不同的是,JPEG 2000同时支持有损和无损压缩,而JPEG只能支持有损压缩。无损压缩对保存一些重要图片是十分有用的。JPEG 2000的一个极其重要的特征在于它能实现渐进传输,这一点与GIF的“渐显”有异曲同工之妙,即先传输图像的轮廓,然后逐步传输数据,不断提高图像质量,让图像由朦胧到清晰显示,而不必是像现在的JPEG一样,由上到下慢慢显示。

此外,JPEG 2000还支持所谓的“感兴趣区域”特性,你可以任意指定影像上你感兴趣区域的压缩质量,还可以选择指定的部分先解压缩。JPEG 2000和JPEG相比优势明显,且向下兼容,因此取代传统的JPEG格式指日可待。JPEG 2000可应用于传统的JPEG市场,如扫描仪、数码相机等,亦可应用于新兴领域,如网络传输、无线通信等。

5.TIFF格式
TIFF(Tag Image File Format)是Mac中广泛使用的图像格式,由Aldus和微软联合开发,最初是出于跨平台存储扫描图像的需要而设计的。它的特点是图像格式复杂、存储信息多。正因为它存储的图像细微层次信息非常多,图像的质量也得以提高,故而非常有利于原稿的复制。

该格式有压缩和非压缩两种形式,其中压缩可采用LZW无损压缩方案存储。不过,由于TIFF格式结构较为复杂,兼容性较差,因此有时你的软件可能不能正确识别TIFF文件(现在绝大部分软件都已解决了这个问题)。目前在Mac和PC机上移植TIFF文件也十分便捷,因而TIFF现在也是微机上使用最广泛的图像文件格式之一。

6.PNG格式
PNG(Portable Network Graphics)是一种新兴的网络图像格式。PNG是目前保证最不失真的格式,汲取了GIF和JPEG二者的优点,存储形式丰富,兼有GIF和JPEG的色彩模式;第二个特点是能把图像文件压缩到极限以利于网络传输,但又能保留所有与图像品质有关的信息,因为PNG采用无损压缩方式来减少文件的大小,这一点与牺牲图像品质以换取高压缩率的JPEG有所不同;第三个特点是显示速度很快,只需下载1/64的图像信息就可以显示出低分辨率的预览图像;第四,PNG同样支持透明图像的制作,透明图像在制作网页图像的时候很有用,我们可以把图像背景设为透明,用网页本身的颜色信息来代替设为透明的色彩,这样可让图像和网页背景很和谐地融合在一起。

PNG的缺点是不支持动画应用效果,如果在这方面能有所加强,简直就可以完全替代GIF和JPEG了。Macromedia公司的Fireworks软件的默认格式就是PNG。现在,越来越多的软件开始支持这一格式,而且在网络上也越来越流行。



推荐阅读
  • 本文介绍了响应式页面的概念和实现方式,包括针对不同终端制作特定页面和制作一个页面适应不同终端的显示。分析了两种实现方式的优缺点,提出了选择方案的建议。同时,对于响应式页面的需求和背景进行了讨论,解释了为什么需要响应式页面。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 前端性能优化无损压缩webp格式的图片
    一、什么是webpWebP格式,谷歌开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有JPEG的23,并能节省大量的服务器宽带资源和数据空 ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
  • 本文介绍了使用哈夫曼树实现文件压缩和解压的方法。首先对数据结构课程设计中的代码进行了分析,包括使用时间调用、常量定义和统计文件中各个字符时相关的结构体。然后讨论了哈夫曼树的实现原理和算法。最后介绍了文件压缩和解压的具体步骤,包括字符统计、构建哈夫曼树、生成编码表、编码和解码过程。通过实例演示了文件压缩和解压的效果。本文的内容对于理解哈夫曼树的实现原理和应用具有一定的参考价值。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
author-avatar
mobiledu2502887783
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有