数据类

Matlab中和IPT中支持的基本数据类型如下:

名称 描述
double 双精度浮点数,范围-10308~10308  8字节
uint8 无符号1字节整数,范围[0, 255]
uint16 无符号2字节整数,范围[0, 65535]
uint32 无符号4字节整数,范围[0, 4294967295]
int8 有符号1字节整数,范围[-128, 127]
int16 有符号2字节整数,范围[-32768, 32767]
int32 有符号4字节整数,范围[-2147483648, 2147483648]
single 单精度浮点数,范围-1038~1038  4字节
char 字符
logical 值为0或1

图像类型

Matlab的IPT(Image Process Toolbox)支持如下四种类型的图像:

  • 亮度图像(Intensity images)
  • 二值图像(Binary images)
  • 索引图像(Indexed images)
  • RGB图像(RGB images)

大多数的单色图像的处理运算是通过二值图像或者亮度图像来进行的。首先学习这两种类型的图像。

亮度图像

一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。其亮度图像像素都是uint8类或者uint16类,则它们的整数范围分别为「0, 255」和「0, 65535」。若图像是double类,则像素的取值就是浮点数,其归一化亮度图像取值范围就是「0, 1」。

二值图像

二值图像在Matlab中具有非常特殊的意义。一幅二值图像是一个取值只有0和1的逻辑数组。因而,一个取值只包含0和1的uint8类数组,在Matlab中并不认为是二值图像。使用logical函数可以把数值数组转化为二值数组。如:

B = logical(A);

使用islogical可以测试一个数组是否是逻辑数组:

islogical(A);

术语注释

注意数据类图像类型之间的差别与联系。提到幅图像时,会说uint8亮度图像。uint8为数据类,亮度为图像类型。

数据类间的转换

数据类间的转换使用如下方式:
B = data_class_name(A)

data_class_name为数据类型。如A为uint8类型数组,B=double(A)会产生一个双精度的数组B。如果C是一个聚会范围为[0, 255]的double数组,命令D=uint8(C)会产生一个uint8类数组。如果C中包含有[0, 255]之外的值,则转换为uint8数组时,会将所有小于0的值转换为0,大于255的值转换为255。


图像类型和类型间的转换

IPT提供了执行必要缩放的函数,进行图像类和类型间进行转换。如f为double的2x2的图像:
f =
-0.5000 0.5000
0.7500 1.5000

执行转换

g = im2uint8(f)
g =
0 128
191 255

可以看到,im2uint8将所有输入小于0的值设置为0,而将输入大于1的值设置为255,再将其他数据乘以255。还有其他的转换函数如下:

名称 将输入转换为 有效的输入图像数据类
im2uint8 uint8 logical, uint8, uint16, double
im2uint16 uint16 logical, uint8, uint16, double
mat2gray double, 范围[0, 1] double
im2double double logical, uint8, uint16, double
im2bw logical uint8, uint16, double

函数im2uint16与im2uint8类似。

函数mat2gray用于把任意的double类数组转换为归一化的double类数组,如:

g = mat2gray(A, [Amin, Amax])

图像g的取值范围在[0, 1]之间,规定小于Amin的值转换为0,大于Amax的值转换为1。如果不给定Amin和Amax参数,则将A中的最小值和最大值分别赋给Amin和Amax。


im2double用于将输入转换为[0, 1]之间的double类。

im2bw用于将亮度图像转换为二值图像:
g = im2bw(f, T)

图像f中的小于T的值转换为0,其他值转换为1。域值T是一个[0, 1]之间的值。


Matlab图像处理(02)-图像基础的更多相关文章

  1. MATLAB图像处理基础

    MATLAB图像处理基础 2.2.1 图像文件格式及图像类型 1.MATLAB支持的几种图像文件格式: ⑴JPEG(Joint Photogyaphic Expeyts Group):一种称为联合图像 ...

  2. Matlab图像处理(01)-Matlab基础

    枫竹梦对于Matlab几乎是零基础,只是在上学的时候稍稍接触一点,万万没有想到现在还能用到Matlab.进入正题>>> 图像的基本概念 一幅图像可以被定义为一个二维函数f(x,y), ...

  3. Matlab图像处理基础知识

    Matlab图像处理基础知识 Matlab的图片以矩阵的形式存储,矩阵的行列值为图片的行列的色彩值. 1图像表达方式: 像素索引 图像被视为离散单元.如使用I(2,2)可以获取第二行第二列的像素值 空 ...

  4. Matlab图像处理函数:regionprops

    本篇文章为转载,仅为方便学术讨论所用,不用于商业用途.由于时间较久,原作者以及原始链接暂时无法找到,如有侵权以及其他任何事宜欢迎跟我联系,如有侵扰,在此提前表示歉意.----------------- ...

  5. MATLAB图像处理函数汇总(二)

    60.imnoise 功能:增加图像的渲染效果. 语法: J = imnoise(I,type) J = imnoise(I,type,parameters) 举例 I = imread('eight ...

  6. matlab图像处理

    matlab图像处理 转自:http://www.cnblogs.com/lovebay/p/5094146.html 1. 图像和图像数据 缺省情况下,MATLAB将图像中的数据存储为双精度类型(d ...

  7. Matlab图像处理系列1———线性变换和直方图均衡

    注:本系列来自于图像处理课程实验,用Matlab实现最主要的图像处理算法 图像点处理是图像处理系列的基础,主要用于让我们熟悉Matlab图像处理的编程环境.灰度线性变换和灰度拉伸是对像素灰度值的变换操 ...

  8. Matlab图像处理相关

    相关函数: 读取:imread() %参数为文件名(路径)或url,格式等 写入:imwrite() %参数为写入数据矩阵,写入文件名(路径),格式等 显示:imshow() %显示由输入决定,属性自 ...

  9. Atitit MATLAB 图像处理 经典书籍attilax总结

    Atitit MATLAB 图像处理 经典书籍attilax总结 1.1. MATLAB数字图像处理1 1.2. <MATLAB实用教程(第二版)>((美)穆尔 著)[简介_书评_在线阅读 ...

随机推荐

  1. 算法之美--1.蒙特卡洛方法计算pi

    基本思想: 利用圆与其外接正方形面积之比为pi/4的关系,通过产生大量均匀分布的二维点,计算落在单位圆和单位正方形的数量之比再乘以4便得到pi的近似值.样本点越多,计算出的数据将会越接近真识的pi(前 ...

  2. nginx rewrite arg 带问号的地址转发参数处理?Nginx重定向的参数问题

    Nginx重定向的参数问题 在给某网站写rewrite重定向规则时,碰到了这个关于重定向的参数处理问题.默认的情况下,Nginx在进行rewrite后都会自动添加上旧地址中的参数部分,而这对于重定向到 ...

  3. 分布式数据库中间件–(1) Cobar初始化过程

    Cobar-Server的源代码地址:GitHub 欢迎Fork. 官方文档描写叙述Cobar的网络通信模块见下图. Cobar使用了Java的NIO进行处理读写.NIO是Java中的IO复用.而不须 ...

  4. linux 查找并操作

    find -depth 1 -name 'aa*' | xargs tar -cvf aa.tar 这个命令将为查找当前目录下的所有已aa开头的文件,然后将所有结果"执行打包",打 ...

  5. Swift初窥----语法进阶

    缺省绑定(Optional Binding 自己主动置空) 通过在类型变量后,加上?,能够实现缺省绑定为nil var window: UIWindow? 就是说,假设不正确window赋值,则win ...

  6. 【转载】viewState详解

    作者:Infinities Loop 概述 ViewState是一个被误解很深的动物了.我希望通过此文章来澄清人们对 ViewState的一些错误认识.为了达到这个目的,我决定从头到尾详细的描述一下整 ...

  7. NoSQL数据库的分类

  8. 产生N个不重复的随机数的快速算法

    //seed array ,,,,,,,,,}; //随机数个数 ; //结果存放在里面 ]; ; i < N; i++) { //从剩下的随机数里生成 , startArray.length ...

  9. [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)

    再用爬虫爬取数据的时候报错:[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661) 好多博客我看都说是:网站证书 ...

  10. 智能手机的耗电特征及APP耗电量测试的两种方法

    文章陈述了手机发展趋势及耗电特性,集中讨论了时下最为关心的智能手机耗电问题,并介绍了测量手机软件耗电量的两种方法.此外还解释了为何运营商此前会提出收取微信的费用,心跳机制是什么. 美国著名手机公司Pa ...