数字图像处理的MATLAB实现(「十五」MATLAB图像处理之一)

Posted

篇首语:知识的价值不在于占有,而在于使用。本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字图像处理的MATLAB实现(「十五」MATLAB图像处理之一)相关的知识,希望对你有一定的参考价值。

数字图像处理的MATLAB实现(「十五」MATLAB图像处理之一)

在MATLAB软件中有一个专门的图像处理工具箱(Image Processing Toolbox),利用该工具箱,我们完成绝大多数的图像处理工作。

MATLAB支持四种图像类型,即RGB图像、索引图像、灰度图像和二值图像。实质上,MATLAB还支持另一种图像类型,即多帧图像阵列,其是MATLAB视频处理和图像处理的桥梁。视频其实就是大量图片的有序排列,只要每张图片播放速度够快,我们就可以感觉到是视频播放。

在MATLAB中,数字图像都是用一个矩阵来表示的,这个矩阵可能是二维、三维或者多维的

用下面的一段代码来说明四种图像类型的差异:

clc;clear all;close all

set(0,\'defaultfigurecolor\',\'w\')

RGB=imread(\'c:\\ir_5.png\');%从本地读入彩色图像

IND=rgb2ind(RGB,128);%变换为索引图像

GRAY=rgb2gray(RGB);%变换为灰度图像

BW=im2bw(RGB);%变换为二值图像

figure(1);imshow(RGB);%显示图像

figure(2);imshow(IND);

figure(3);imshow(GRAY);

figure(4);imshow(BW);

MAX_RGB=max(max(max(RGB,[],3)));%查看RGB图像中的最大值

MIN_RGB=min(min(min(RGB,[],3)));%查看RGB图像中的最小值

RGB图像

索引图像

灰度图像

二值图像

变量的大小及范围

上面的实例中可以看出:

RGB图像是以一个M*N*[R G B]的三维矩阵来表示的,当矩阵中元素为unit8类型,元素范围为[0 255];

索引图像是以一个M*N的二维矩阵来表示的,当矩阵中元素为unit8类型,元素范围为[0 p-1],p表示RGB转换为索引图像时所设置的图像颜色的个数(上面的实例中,我们的p设置为128,所以元素范围为[0 127]);

灰度图像是以一个M*N的二维矩阵来表示的,当矩阵中元素为unit8类型,元素范围为[0 255];

二值图像是以一个M*N的二维矩阵来表示的,其矩阵中元素为logical类型,元素只有可能是0或1,是一种逻辑矩阵,0代表黑色,1代表白色;

这只是基于最基本的方面,对上述四种图像类型作的解释。其实,它们还有更深层次的差异。如果大家感兴趣,可以自己查找资料了解。

最后,感谢大家的耐心阅读!

相关参考