首页 > 编程知识 正文

黑白图像和灰度图像区别,二值图像是什么

时间:2023-05-05 01:40:39 阅读:110364 作者:2891

参考: http://www.Sohu.com/a/50526196 _ 196473

3359 blog.csdn.net/smf 0504/article/details/72899725

33559 www.cn blogs.com/xixixing/p/5826871.html

图:

二值图像表示为logical数组(0或1,分别表 示黑和白)

数据类型uint8(8位无符号整数) :

uint8表示变量是无符号整数,范围为0到255。 uint8是指0~2^8-1=255的数据类型,一般在图像处理中很常见。

参考: Matlab图像处理中的uint8和double问题

为了节省存储空间,matlab将图像中的特殊数据类型uint8(8比特无符号整数)、以此方式存储的图像称为3358www.Sina.com/。

imread将灰度图像存储在8位矩阵中,在RGB图像的情况下存储在8位RGB矩阵中。

因此,matlab读入的图像的数据是uint8,而在matlab中数值一般以double型(64位)存储并运算。 所以首先要把图像转换成double形式的才能运算。

也就是说,显示时用uint8运算时用double;

即,主要为了保持运算精度,一般用double进行复杂的运算。 保存时的典型存储为uint8类型,可节省存储空间。

im2double(:将图像数组转换为double精度类型

im2uint8) ) :将图像数组变换为unit8型

im2uint16 ) ) :将图像数组变换为unit16型

uint8的图像是灰度图像。 也就是说,像素值从0~255开始变化,但转换为double后像素值变化为0-1。 也就是说,0是黑色,1是白色

彩色图像。 通常,每个像素由三个分量表示:红(r )、绿(g )和蓝(b ) ),分量为(0,255 )。 RGB图像和索引图像一样可以用于表示彩色图像。 和索引图像一样,用红(r )、绿)、蓝)、b )三原色的组合来表示各像素的颜色。 但是,与索引图像不同,RGB图像的各个像素的色值(用RGB的三原色表示)被直接存储在图像矩阵中,各个像素的颜色由r、g、b的3个分量表示,因此m、n分别表示图像的矩阵数,3个mn的二维矩阵RGB图像的数据类型一般为8位无符号格式,通常用于显示和存储真彩色图像。 当然也可以存储灰度图像。

灰度图像(gray image )是每个像素只有一种采样颜色的图像。 这样的图像通常以最暗的黑色到最亮的白色的灰度显示,但理论上,此样本可以是不同颜色深浅或亮度的颜色。 灰度图像与黑白图像不同,在计算机图像领域,黑白图像只有黑与白两种颜色,但是灰度图像在黑与白之间有很多级别的颜色深度。 灰度图像多通过在可见光等单一电磁波谱内测量各像素的亮度来获得,用于显示的灰度图像通常以每个采样像素8位的非线性标度存储,为256灰度(使用16位时为65536灰度)

二值图像,即二值图像的二维矩阵只由0和1两个值组成,“0”表示黑色,“1”表示白色。 因为每个像素(矩阵中的每个元素)只有0、1两种取值,所以计算机中二值图像的数据类型通常为1位。 二值图像通常用于文字、线条的扫描识别(OCR )和蒙版图像的存储。

所谓索引图像,其文件结构很复杂,除了存储图像的二维矩阵外,还包括一个称为颜色索引矩阵MAP的二维数组。 MAP的大小由存储图像的矩阵元素的值域决定,在矩阵元素的值域为[ 0,255 ]的情况下,MAP矩阵的大小为2563,用MAP=[RGB]表示。 MAP每一行的三个元素分别指定与该行对应的颜色的红、绿、蓝单色值,MAP的每一行对应于图像矩阵的像素之一的灰度值,如果某一像素的灰度值为64,则该像素与MAP的第64行建立映射关系,其像素对应于该像素也就是说,当图像被显示在画面上时,各像素的颜色是以储存在矩阵中的该像素的灰度值为索引,通过检索颜色索引矩阵MAP得到的。 索引图像的数据类型一般为8位无符号整形(int8),对应的索引矩阵MAP的大小为2563,因此一般的索引图像只能同时显示256种颜色,可以通过改变索引矩阵来调整颜色的种类索引图像的数据类型也可以采用双精度浮点型(double )。 索引图像一般用于存储颜色要求相对简单的图像。 例如,在Windows中,颜色配置相对简单的墙纸通常使用索引图像进行存储,如果图像颜色复杂,则使用RGB真彩色图像。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。