在当今的信息化社会,数字图像处理已经成为了各个领域的重要工具。从社交媒体的图像分享,到医疗诊断的影像分析,再到安全监控的视频处理,数字图像处理的应用已经深入到我们生活的方方面面。为了更好地理解和应用数字图像处理技术,掌握其基本函数及原理显得尤为重要。本文将深入探讨数字图像处理的基本函数,帮助读者了解和掌握这一关键技术。
目录
imread()函数
定义:从图形文件读取图像
描述:从filename指定的文件中读取图像,从其内容推断文件的格式。如果文件名是多图像文件,则imread将读取文件中的第一个图像。
(1) A=imread(文件名,'图像文件格式')
将文件名指定的图像文件读入A。A为uint8,若文件为灰度图像,则A为二维数组;若文件为真彩 RGB 图像,则A为三维数组。
(2) [X,map]=imread(文件名,'图像文件格式')
将索引图像读入矩阵X中,其调色板值返回给map。X为uint8,map为double 数,其值在[0,1]中。(3)[...]=imread(文件名)
根据文件内容推断文件格式。
注意:①文件名可以和图像格式写在一起,即:filename.fmt;
②文件必须在当前目录或MATLAB路径中
③默认文件目录为当前目录。
④注意:括号内只能用单引号;路径可选择相对路径或绝对路径
rgb2gray()函数
定义:将RGB图像或颜色贴图转换为灰度
形式:I = rgb2gray(RGB)
描述:将真彩色图像RGB转换为灰度图像I。rgb2gray函数通过在保持亮度的同时消除色调和饱和度信息,将RGB图像转换为灰度图像。
imshow()函数
定义:显示图像
描述:imshow(I)在图形中显示灰度图像I。imshow使用图像数据类型的默认显示范围,并优化图像显示的图形、轴和图像对象属性。
1、imshow (I,n)
用n个灰度级显示灰度图像I,缺省n时,则使用256级灰度(uint8 型数据)显示,或64级灰度(其他)显示。
注意:
1)缺省n时,表示若I为uint8型数据,通常显示正常图像;若I为double 型数据,通常会发现显示的是一个不正常的白色图像。这是因为imshow()函数显示图像时,对uint8型数据认为是0-255范围内,而对double 型数据是认为在0-1范围内的,即数据大于1时都是1,显示为白色。
2)MATLAB 的图像数据经过数值计算之后会将数据类型转换为double 型的,这时为了能用imshow0函数正常显示图像,可采用的一些方法把数据映射为0-1范围内的小数或0-255范围内的整数。
具体方法有:
imshow(I/256);%将图像数据矩阵转化到0-1之间
imshow(1,[]); %自动调整数据的范围以便于显示 (注意这里必须是灰度图,否则不行)
imshow(uint8(I));
2、imshow(I[low high]):用指定灰度级范围显示图像1。
注意:
1)指定灰度级范围[low high]时,表示灰度级小于或等于low 的像素点显示为黑,灰度级大于或等于high 的像素点显示为白。
2)[low high]为[]默认为[min(I(:)) max(I(:))),
3)imshow (I,[])的意思相当于imshow(I,[min(I(:)) max(I(:))]) I中数值最大值与最小值分别为255和0。
4)subimage()函数与imshow()函数的区别在于subimage()显示坐标,imshow()不显示坐标。
3、imshow(X,map):显示索引图像X,用调色板 map。
4、 imshow(RGB):显示真彩色图像 RGB。
5、imshow (BW):显示二值图像 BW。
6、imshow文件名:显示可以通过imread函数读取的图形文件中的图像。例:在多个图形窗口显示多幅不同类型的图像。
im2bw()函数
定义:用于将灰度图像转换为二值图像的函数
描述:im2bw函数将灰度图像中的像素值转换为二值图像中的0或1值,其中0代表黑色或背景,1代表白色或前景。
语法格式:
(1)BW=im2bw(I,level)
(2)BW=im2bw(X,map,level)(3)BW=im2bw(RGB,level),level为归一化阈值,取值在[0,1]之间。
转换过程中。如果输入图像不是灰度图像,首先将它转换为灰度图像,再通过阈值化将灰度图像转换成二值图像。输出图像再输入图像所有亮度小于给定值level像素点处为0,其他为1。
imwrite()函数
描述:将图像写入图像文件
(1)imwrite(A,文件名,'图像文件格式'):将变量A中的图像按‘图像文件格式’指定的保存格式写入‘文件名’指定的文件中。
(2)imwrite(X,map,文件名,'图像文件格式'):将X中的索引图像及其相关的调色板存放到指定文件。
(3) imwrite(..,文件名):根据文件名的扩展名推断文件格式,将图像写入文件中,扩展名必须是合法的。
imfinfo()函数
描述:返回图像文件信息
(1)info=imfinfo(文件名,'图像文件格式'):返回一个图像信息结构或结构数组。
(2)info=imfinfo(文件名):可根据内容推断文件格式
显示的图像文件的信息包括:文件名、文件修改日期、文件大小、图像文件格式、格式版本、图像宽度、图像高度、每个像素位数、颜色信息等。
rgb2ind()函数
描述:将真彩色图像转换为索引色图像
(1)[X,map]=rgb2ind(RGB,n):用最小方差量化方法,将真彩色图像RGB转换为索引图像X。map中至少包括种颜色信息。
(2)[X,map]=rgb2ind(RGB,tol):用均匀量化方法,将真彩色图像RGB转换为索引图像 X。map中至少包括[floor((1/tol)+1)种颜色, tol范围为[0.0,1.0]。
(3)X=rgb2ind(RGB,map)
通过将 RGB 中的颜色与调色板map中最相近的颜色匹配,将真彩色图像RGB转换为索引图像X。