数字图像处理2

六眼飞鱼酱① 提交于 2019-11-28 18:03:59

原文引用 大专栏  https://www.dazhuanlan.com/2019/08/27/5d64bdd9c65fe/


上一篇文章介绍了数字图像处理的概念,数字图像的处理工具及表示,这篇文章,我们接着来介绍数字图像的类型。

一、图像类型

工具箱支持四种图像类型:

  • 灰度级图像
  • 二值图像
  • 索引图像
  • RGB图像

大多数单色图像的处理都采用的是二值图像或者灰度级图像,我们首先来介绍这两种图像,剩下两种之后再来讲解。


二、灰度级图像

​ 一个灰度级图像其实是一个数据矩阵,矩阵的值代表灰度的浓淡。当灰度级图像的元素是unit8或者unit16类时,它们分别具有[0,255]和[0,65535]的整数值,若图像为double类或者single类,其值为浮点数,且其图像的值通常会归一到[0,1]范围内。

​ 下面我们来介绍一下上面提到的图像处理的类:

名称 描述
double 双精度浮点数,范围为±10308(8字节/元素)
single 单精度浮点数,范围为±1038(4字节/元素)
unit8 无符号8bit整数,范围为[0,255] (范围1字节/元素)
unit16 无符号16bit整数,范围为[0,65535] (范围2字节/元素)
unit32 无符号32bit整数,范围为[0,4294967295] (范围4字节/元素)
int8 有符号8bit整数,范围为[-128,127] (范围1字节/元素)
int16 有符号16bit整数,范围为[-32768,32767] (范围2字节/元素)
int32 有符号32bit整数,范围为[-2147483648,2147483647] (范围4字节/元素)
char 字符(2字节/元素)
logical 0或1(1字节/元素)

三、二值图像

​ 一个二值图像是一个取值只有0和1的逻辑数组,使用函数logical可将数值数组转换为二值图像。

​ 例如:B = logical(A)

​ A可以为只有0和1组成的数值数组,也可以是含有其他元素的数值数组,但如果是第二种,使用logical函数会将所有非零量转化为逻辑值1。

​ 同时,我们也可以用islogical函数来判断一个数组是否是logical类,若是则返回1,若不是则返回0,使用方法为islogical(C)

​ 当然,我们也可以把逻辑数组转化为数值数组,可以用B=im2unit8(A)B=im2unit16(A)B=im2double(A)B=im2single(A)B=mat2gray(A)等来转换逻辑数组为其他类型数值数组。其中mat2gray把一个图像转换为标定到[0,1]范围的double类数组,调用语法为

g=mat2gray(A,[Amin,Amax]),其中图像g具有范围从0-1的值,Amin与Amax的含义在于,若A中的值小于Amin,则在g中变为0,若大于Amax,则在g中变为1。


未完待续哟~

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!