Advertisement

图像处理基础(MATLAB图像处理第三章)

阅读量:

1.常用图像的文件格式与类型

文件格式

  • Windows Paintbrush format includes a file header, image data, and an extended color lookup table.
  • Windows Bitmap format comprises a file header, bitmap information data block (infoheader), and a color table along with image data.
  • Hierarchical Data Format (HDF) is employed for storing 8-bit or 24-bit raster data.
  • JPEG format is a widely used standard for compressing photographic images.
  • Tagged Image File Format (TIFF) is commonly utilized for high-resolution digital images.
  • X Window Dump format represents the raw output from X windows applications.

类型

在MATLAB环境中,一张图像或许带有数值数据表格,并非绝对不含色彩对应关系索引。

索引图像

索引图像由图像矩阵以及颜色图数组组成。其中颜色图是指按照图像中各像素的颜色值排序后生成的数组。每个像素对应着一个数值,在其对应的行中占据的位置即为该数值在颜色图中的索引位置。

图像矩阵是uint8时,常用于图形文件格式,支持256色。

灰度图像

灰度图像保存在一个矩阵中,每个元素代表一个像素点。

二值图像

每个点为两个离散值中的一个。

RGB图像

红绿蓝三个一组,直接存在图像数组中。

2.图像处理的基本函数

2.1 图像文件的查询与读取

复制代码
    Info = imfinfo(filename.fmt)
    Info = imfinfo(filename)
    
    
    matlab

该命令用于指定完整路径名;获取关于该图像的信息;该函数用于读取图片数据;该参数指定支持的图片格式。

该命令用于指定完整路径名;获取关于该图象的信息;该函数用于读取图象数据;该参数指定支撑的图象格式。

复制代码
    A = imread(filename,fmt)
    
    
    matlab

其中文件名由filename变量指定,并以 flyfmt 作为其扩展名进行处理。随后将该图像数据读入矩阵A中进行后续处理操作。具体而言,在灰度级图像情况下,默认对应的矩阵维度将呈现二维特征;而对于 RGB 图像场景,则会形成一个三维结构的空间布局关系

2.2 图像文件的存储与数据类型的转换

在图像存储过程中采用的是 64 位浮点数据类型。然而,在追求存储空间优化目标的前提下,则可选择将图像的数据类型进行转换为 uint8 或 uint16 类型以实现相应的效果

转换函数:im2double(),im2uint8(),im2uint16()

Matlab中使用imread函数来存储图像文件。调用格式如下

复制代码
    imwrite(A,filename,fmt)
    imwrite(X,map,filename,fmt)
    imwrite(...,filename)
    
    
    matlab

2.3 图像显示

图像显示函数

图像显示主要使用image和images函数,此外常用imshow函数。

image函数产生图像的句柄,允许对对象的属性进行设置。使用方法如下:

复制代码
    image(C)
    image(x,y,C)
    image(x,y,C,’PropertyName’,’PropertyValue’)
    handle = image(C)
    
    
    matlab

x,y分别表示图像显示位置的左上角坐标;C表示需要显示的图像。

该图像显示函数具备自动缩放功能,并能通过全色图展示标准化呈现的数据。

其他函数的行为与image完全一致。在images(…, claims)参数的作用下,C的值被限制在clims所确定的范围内.为了将C以图像形式呈现,需要执行相应的处理步骤.

imshow函数直接显示图片。

展示图片文件名:
使用BW参数调用imShow函数会呈现二值图并展示其对应的像素矩阵。
通过指定X和colorMap参数调用imShow函数会呈现索引图及其对应颜色映射。
仅传入I时调用imShow函数会呈现灰度图片。
输入RGB数组调用imShow函数会生成完整的RGB图片。
指定I数组并设置低高阈值时调用imShow函数会将超出当前类型范围的数据压缩至可见范围并生成相应图片。

显示辅助函数

colorbar函数将颜色条添加到坐标轴对象中。

subimage函数一个图形区域内显示多个图像。

figure函数在不同的图像窗口显示不同的图像。

subplot函数在用一个图形窗口显示多图。

利用montage函数可以实现多个图像依次展示的效果,在同一幅主画面中各帧会占据不同的分区内展示位置,并且每个子区域中的图像是使用相同的色标进行表示的。immovie函数能够将一系列静态的图片转变为动态的视频序列。(仅适用于索引类型的图片)

warp函数负责处理纹理映射的任务;zoom函数能够对图像或二维图形进行缩放显示效果。

被用来启动缩放功能; 被用来关闭该功能; 被用来放大显示范围; 被用来缩小显示范围。

3.图像类型的转换

3.1 dither函数

实现图像抖动。通过颜色抖动来增强输出图像的颜色分辨率。

颜色抖动主要体现在调整边缘像素的颜色值上。通过这一操作能够使得图像外围区域的色彩分布更加贴近原始图像的色调。这种调整方式能够在提升图像的空间清晰度的同时降低了色彩细节的丰富性

此函数能够将RGB图像转化为索引图像或灰度图像转换为二值图

X = dither(RGB, map)
X = dither(I)

3.2 im2bw函数

im2bw函数用于设定阈值,将灰度、索引、RGB图像转化为二值图像。

level是归一化的阈值,取值在[0,1]。

复制代码
    BW = im2bw(I, level)
    BW = im2bw(X, map, level)
    BW = im2bw(RGB, level)
    
    
    matlab

3.3 mat2gray函数

函数将数据矩阵转换为灰度图像。

I=\texttt{mat2gray}(A,\texttt{[max},\texttt{min]}):通过指定的最大和最小值范围将数据矩阵\mathbf{A}转换为灰度图像I。若未明确设定范围,则系统默认采用最大范围。其中\mathbf{A}的数据类型为\texttt{double}类;生成后的图像I同样保持\texttt{double}类数据类型。

3.4 gray2ind函数与grayslice函数

gray2ind函数主要应用于处理灰度图像或二值图谱,并完成索引图像的转换过程; grayslice函数通过设定特定阈值来实现灰度图象向索引图象的转换过程。

3.5 ind2gray函数与ind2rgb函数

前者将索引图像转换为灰度图像,后者将索引图像转化为RGB图像。

3.6 rgb2gray函数与rgb2ind函数

前者采用的方法能够将一幅真彩色图像成功地转换为灰度图像;后者则采用不同的技术路径实现同样的目标——即将真彩色图像转化为索引式图像。

4.MATLAB颜色模型转换

颜色模型指某个三维颜色空间中的一个可见光子集。

RGB颜色被划分为三个通道,并以不同的权重进行混合组合;每个通道包含从0到255的亮度级别;当亮度值为0时达到最小值,在最大值255时达到最大值。

HSV复合主观感觉的颜色模型是一种能够综合反映人眼主观视觉感受的颜色表征方法。其中包含了色调、饱和度与明度三个基本要素的具体表现形式被称为HSV(Hue, Saturation, Value)空间。每个颜色可由这三个分量构成的一个有序集合表示其特征属性

Hue Saturation Value

我们常说的YUV模型即为YCbCr编码模型,在视频图像处理与数字图像处理领域中被广泛应用。其中亮度通道通常用字母Y表示,在此框架下,Cb与Cr分别代表色度平面中的不同颜色分量,其中前者代表蓝色分量(Cb),后者代表红色分量(Cr),它们都基于参考白平衡点进行计算。

该编码方案适用于电视图像处理,并基于Y.I.Q坐标系进行数据压缩优化。其中Y分量代表亮度并反映灰度层次,I分量代表色调,Q分量则表征色彩饱和度,从而实现了对亮度与色彩的独立编码,显著提升了视频质量的同时降低了传输需求

HSI色彩空间基于人眼的感知机制,在色调、色饱和度和亮度三个维度表征颜色属性,并可用一个基于圆锥体的空间模型来表征HSI色彩空间

Hue Saturatuib/Chroma Intensity/Brightness

4.1 rgb2hsv函数与hsv2rgb函数

RGB与HSV转换。转换色表以及图像。

4.2 rgb2ntsc函数与ntsc2rgb函数

RGB与NTSC转换。转换色标以及图像。

4.3 rbg2ycbcr函数与ycbcr2rgb函数

RGB和YCBCR转换。转换色标以及图像。

全部评论 (0)

还没有任何评论哟~