MATLAB分析图像的离散余弦变换(DCT)

您所在的位置:网站首页 autumn的图片 MATLAB分析图像的离散余弦变换(DCT)

MATLAB分析图像的离散余弦变换(DCT)

2024-01-09 23:11| 来源: 网络整理| 查看: 265

1. MATLAB的介绍以及所需函数的说明:

 1.1 MATLAB 

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks

公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 

3.2 使用的MATLAB函数介绍 

函数描述Imread()用于读取图片文件中的数据figure()控制画图的窗口imshow()显示图像rgb2gray()把真彩图像转变为灰度图像dct2()DCT变换 Colormap()       可以拖动上面的颜色块控制调改变位图颜色(双击)。一般是函数Image()画出的连续的灰度图使用。 Colorbar:colormap实际上是一个mx3的矩阵,每一行的3个值都为0-1之间数,分别代表颜色组成的rgb值  idct2()DCT逆变换Subplot()                   将当前窗口分割成多个子窗口,第一个参数表示分割窗口的行数,第二参数表示 分割后窗口的列数,第三个参数表示第几个子窗口

2.MATLAB程序以及结果分析 

2.1 MATLAB程序

2.1.1  打开图片:

%读入测试图像 mypicture=imread('d:\lena.tif'); %显示读入的图像 %为了防止后一个显示的图像覆盖前一个显示结果,每次显示时调用figure生成一个新窗口 figure(),imshow(mypicture),title('原输入图像');

2.1.2 转为灰度图:

grayImage=rgb2gray(mypicture);%如果读入的是彩色图像则转化为灰度图像(灰度图像省略这一步) figure(),imshow(grayImage),title('原输入彩色图像转化为灰度图像');

图1

2.1.3对图像DCT转换:

%对图像DCT变换 dctgrayImage=dct2(grayImage); figure(), imshow(log(abs(dctgrayImage)),[]),title('DCT变换灰度图像'), colormap(gray(4)), colorbar;

图2

2.1.4 对灰度矩阵进行量化:

%对灰度矩阵进行量化 dctgrayImage(abs(dctgrayImage)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3