数字图像处理实验6 冈萨雷斯
数字图像处理冈萨雷斯第二版答案
数字图像处理冈萨雷斯第二版答案数字图像处理冈萨雷斯第二版答案【篇一:数字图像处理第三版 (冈萨雷斯,自己整理的2)】特数。
通常的传输是以一个开始比特,一个字节(8 比特)的信息和一个停止比特组成的包完成的。
基于这个概念回答以下问题:(b) 以750k 波特 [这是典型的电话dsl(数字用户线)连接的速度]传输要用多少时间?2.两个图像子集s1和s2图下图所示。
对于v={1},确定这两个子集是(a)4-邻接,(b)8-邻接,(c)m-邻接。
a) s1 和s2 不是4 连接,因为q 不在n4(p)集中。
(b) s1 和s2 是8 连接,因为q 在n8(p)集中。
(c) s1 和s2 是m 连接,因为q 在集合nd(p)中,且n4(p)∩ n4(q)没有v 值的像素3. 考虑如下所示的图像分割(a) 令v={0,1}并计算p 和q 间的4,8,m 通路的最短长度。
如果在这两点间不存在特殊通路,试解释原因。
(b) 对于v={1,2}重复上题。
解:(a) 当v={0,1}时,p 和q 之间不存在4 邻接路径,因为不同时存在从p 到q 像素的4 毗邻像素和具备v 的值,如图(a)p 不能到达q。
8 邻接最短路径如图(b),最短长度为4。
m邻接路径如图(b)虚线箭头所示,最短长度为5。
这两种最短长度路径在此例中均具有唯一性。
(b) 当v={1, 2}时,最短的4 邻接通路的一种情况如图(c)所示,其长度为6,另一种情况,其长度也为6;8 邻接通路的一种情况如图(d)实线箭头所示,其最短长度为4;m 邻接通路的一种情况如图(d)虚线箭头所示,其最短长度为6.或解: (1) 在v={0,1}时,p和q之间通路的d4距离为∞,d8距离为4,dm距离为5。
(2) 在v={1,2}时,p和q之间通路的d4距离为6,d8距离为4,dm距离为6。
4为什么一般情况下对离散图像的直方图均衡化并不能产生完全平坦的直方图?【因为同一个灰度值的各个象素没有理由变换到不同灰度级,所以数字图像的直方图均衡化的结果一般不能得到完全均匀分布的直方图,只是近似均匀的直方图。
数字图像处理(冈萨雷斯)课件
y
y
x
彩色图像可以用红、绿、蓝三元组的二维矩阵来表示。 通常,三元组的每个数值也是在0到255之间,0表示相应 的基色在该像素中没有,而255则代表相应的基色在该像 素中取得最大值
数字图像的像素表示
什么是像素?
数字图像由二维的元素组成,每一个元素具有一个 特定的位置(x,y)和幅值f(x,y),这些元素就称为像素
考试内容
平时作业50%,考试成绩50% 平时作业选择下列两个之一:
分组完成一个大作业 其(基本概念、原理和算法)
助教老师
曹磊 E_mail: caolei@ 电 话:82529384
注意:有不懂的地方多问助教老师,充分发挥助教老师的 指导作用
上课主要内容(续)
9. 图像压缩(2) 10. 形态学图像处理 11. 图像分割 12. 表示与描述 13. 基于内容的视频分析和检索技术(补充) 14. 考试复习
课程目的与要求
掌握数字图像处理的基本概念、原理和 方法
初步运用所学知识解决实际问题 为图像处理及相关领域的研究打下基础
图像处理 计算机视觉 基于内容的图像、视频检索 人脸识别、指纹识别、掌纹识别、虹膜识别 图像分类、图像和视频的语义概念检测、……
Rafael C. Gonzalez, Richard E. Woods, Digital Image Processing(Second Edition) ,Prentice Hall,2003。
教材及参考书(续)
参考书
Kenneth R. Castleman著,朱志刚、林学訚、石定 机等译,数字图像处理,电子工业出版社,2002年。 章毓晋,图象工程上册—图象处理和分析,清华大 学出版社,2003年。
数字图像处理课程设计报告(冈萨雷斯版)
1. 课程设计目的1、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。
2、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。
2.课程设计内容及实现2.1、网页安全色(Web-Safe Colors)为了完成这项工作,必须找到一个合适的程序,这个程序可以把指定的JPG图像生成RGB元素的图像。
例如,MATLAB的图像处理工具箱可以实现这一点,但你也可以使用图像编辑程序像Adobe的Photo-Shop或Corel的Photo-Paint。
为了实现把图像转换为RGB 这一目标,也可以手动修改。
(a)编写计算机程序,把任意的RGB彩色图像转换到Web安全的RGB图像(Web安全颜色定义见图6.10)。
(b)下载图像图6.8,转换为网络安全色的RGB彩色图像。
图6.8是JPG格式,所以结果返回也为JPG(请看本项目的开始注释)。
解释你的结果和图6.8之间的差异。
2.1.1程序清单:I=imread('Fig6.08.jpg');subplot(121);imshow(I);title('原图');I1=fix((I/51)*51);subplot(122);imshow(I1);title('web-safe colors');2.1.2运行结果如图1图1 网页安全色结果分析:结果图出现明显的方格,每个方格就是一个网页安全色,方格内的颜色一致。
原图则是普通的RGB,假使在原图的相同区域划分出和结果图相对应的方格,则此方格里的颜色是一个渐变的颜色,并非同一种颜色。
2.2、伪彩色图像处理(Pseudo-Color Image Processing )(a)实现图6.23的特性,你可以为输入图像指定两个范围的灰度值,然后你的程序将输出的RGB图像,它的像素有一个指定的颜色,对应于输入图像的一个范围的灰度级,RGB 图像中剩余的像素具有和输入图像相同的灰度。
数字图像处理课件(冈萨雷斯第三版)精编版共135页文档
31、只有永远躺在泥坑里的人,才不会再掉进坑里。——黑格尔 32、希望的灯一旦熄灭,生活刹那间变成了一片黑暗。——普列姆昌德 33、希望是人生的乳母。——科策布 34、形成天才的决定因素应该是勤奋。——郭沫若 35、学到很多东西的诀窍,就是一下子不要学很多。——洛克
数字图像处理课件(冈萨雷斯第三版) 精编版
6、法律的基础有两个,而且只有两个……公平和实用。——伯克 7、有两种和平的暴力,那就是法律和礼节。——歌德
8、法律就是秩,有好的法律才有好的秩序。——亚里士多德 9、上帝把法律和公平凑合在一起,可是人类却把它拆开。——查·科尔顿 10、一切法律都是无用的,因为好人用不着它们,而坏人又不会因为它们而变得规矩起来。——德谟耶克斯
数字图像处理(冈萨雷斯第三版)
左边的图象是图象处理技术 中常用来检验计算机算法的 实际效果的标准图象。 这幅图象的名称是lenna。它 是由一组数字组成的。原图象 的宽和高都是256个象素,每 象素有八位。它在BMP格式下 有约66K字节的大小。
.
1.1.2 图象技术和图象工程
• 数字图象处理的简史 数字图象的产生远在计算机出现之前。最早有电报传输的 数字图象。六、七十年代,随着计算机硬件的发展和快速 傅立叶变换算法的发现使得用计算机能够处理图象。八十 年代开始处理三维图象,九十年代以来,随着计算机性能 的大幅提高和广泛使用,图象处理技术已经涉及社会的各 个角落。图象逐渐在传播媒体中占据了主导地位,产生的 许多的新行业新商机。未来图象处理的发展是不可限量的。 数字图象处理属于计算机科学,但是它的90%依赖于数学。 从这个特点来看,对于本专业的学生来说,数字图象处理 技术是一个十分理想的发展方向。
.
图象文件的数据结构
一个完整的图象处理程序的基本功能有:打开图象文件、 显示图象、对图象文件进行指定的处理、存储图象文件。 由于图象文件比较大,通常需要在储存前进行压缩。所以 打开和存储图象文件涉及到文件的格式。
• 图象文件的格式 图像文件指包含图像数据的文件。文件内除图像数据本身 以外,一般还有图像的描述信息,以便图像的读取和显示。 表示图像常用矢量形式或光栅形式。 矢量形式中图像用一系列线段或线段的组合体来表示, 线段的灰度可以不同,组合体的各部分可用不同的灰度来 填充。矢量形式文件中有一系列的命令和数据,执行的结 果是画出图像来。
.
• 什么是图像工程?(广义的数字图像处理)
它是由图像处理、图像分析和图像理解三个系统所组 成。图像处理包括图像采集和从图像到图像的变换,以改 善主观的视觉效果和为图像分析和图像理解作初步的处理。 图像分析是从图像中取出感兴趣的数据,以描述图像中目 标的特点。图像理解是在图像分析的基础上研究各目标的 性质和相互关系,以得出图像内容的理解和对原场景的解 释。图像处理、图像分析和图像理解是处在从低到高的三 个不同的抽象程度上的过程。本课程着重于图像处理和分 析系统。
数字图像处理课件冈萨雷斯第三版
形状分析
介绍形状分析的方法和技术,如周长、面积、轮廓等,以量化和比较图像中的不同形状。
图像压缩基础
讲解图像压缩的基本原理和方法,如有损压缩、无损压缩等,以降低图像文件的大小。
离散傅立叶变换及其应用
探索离散傅立叶变换(DFT)的概念和应用,如频域滤波、图像复原等。
频域滤波
讨论频域滤波的方法和技巧,如低通滤波、高通滤波等,以增强或去除特定频率的图像信息。
灰度变换
介绍灰度变换的概念和方法,如对比度调整、亮度调整等,以改善图像的可视化效果。
直方图均衡化
讲解直方图均衡化的原理和应用,以增强图像的对比度和细节。
灰度变换的应用
探讨灰度变换在图像增强、图像分割和特征提取等方面的应用,以及潜在的 挑战。
线性滤波
介绍线性滤波的基本原理和常用滤波器,如平滑滤波器、锐化滤波器等。
数字图像处理课件冈萨雷 斯第三版
数字图像处理课件冈萨雷斯第三版PPT大纲:
数字图像基础知识
介绍数字图像的基本概念和背景,包括像素、色彩空间、图像分辨率等。
采样和量化
解释图像采样和量化的概念和方法,探讨图像质量和文件大小之间的平衡。
像素与分辨率
讨论像素和分辨率的关系,以及它们对图像质量和打印输出的影响。
非线性滤波
讲解非线性滤波的概念和应用,如中值滤波、自适应滤波等,以处理图像中 的噪声和模糊。
图像增强
探索图像增强的技术和方法,如直方图匹配、空域增强等,以提高图像的质 量和可视化效果。
边缘检测
讨论边缘检测的原理和常用算法,如Sobel算子、Canny边缘检测等。
霍夫变换
介绍霍夫变换的概念和应用,如直线检测、圆检测等,以在图像中检测特定的形状。
digital image processing projects 数字图像处理 冈萨雷斯 第六章所有程序和报告要点
Digital Image ProcessingProject chapter:Chapter 6Project number:Proj06-01 ~ Proj06-04 Student's name:Student's number:Class:ContentsWEB-SAFE COLORS (2)PSEUDO-COLOR IMAGE PROCESSING (2)COLOR IMAGE ENHANCEMENT BY HISTOGRAM PROCESSING (5)COLOR IMAGE SEGMENTATION (7)Web-Safe ColorsExp. 20,PROJECT 06-01ObjectiveTo know what are Web-safe colors, how to generate the RGB components for a given jpeg color image, or convert an image to RGB manually?Requirements(a) Write a computer program that converts an arbitrary RGB color image to a web-safe RGB image (see Fig. 6.10 for a definition of web-safe colors).(b) Download the image in Fig. 6.8 and convert it to a web-safe RGB color image. Figure 6.8 is given in jpg format, so convert your result back to jpg (see comments at the beginning of this project).Figure 1 Fig6.08.jpgTechnical discussion【1】B = fix(A)rounds the elements of A toward zero, resulting in an array of integers.For complex A, the imaginary and real parts are rounded independently.【2】imwrite(A,filename,fmt)writes the image A to the file specified by filename in the format specified by fmt. Program listingsI=imread('Fig6.08.jpg');subplot(131);imshow(I);title('original');I1=fix((I/51)*51);subplot(132);imshow(I1);title('web-safe colors(jpg)');imwrite(I1,'web-safe colors.jpeg','jpeg');subplot(133);I=imread('web-safe colors.jpeg');imshow(I);title('web-safe colors(jpeg)');Discussion of resultsoriginal web-safe colors(jpg)web-safe colors(jpeg)Figure 2 results of project 06-01Pseudo-Col or Image ProcessingExp. 21,PROJECT 06-02ObjectiveTo know when the highpass filtering H hp(u,v) can be obtained by using the relation 1-H lp(u,v).Requirements(a)Implement Fig. 6.23, with the characteristic that you can specify two ranges of gray-level values for the input image and your program will output an RGB image whose pixels have a specified color corresponding to one range of gray levels in the input image, and the remaining pixels in the RGB image have the same shade of gray as they had in the input image.(b) Download the image in Fig. 6.22(a) and process it with your program so that the river appears yellow and the rest of the pixels are the same shades of gray as in the input image.Figure 3 Fig6.22(a).jpgTechnical discussion【1】RGB componentsrgb_R=I(:, :, 1);rgb_G=I(:, :, 2);rgb_B=I(:, :, 3);Program listingsI=imread('Fig6.22(a).jpg');subplot(121);imshow(I);title('original');I=double(I);[m,n]=size(I);L=256;for i=1:mfor j=1:nif I(i,j)<L/4R(i,j)=0;G(i,j)=4*I(i,j);B(i,j)=L;else if I(i,j)<=L/2R(i,j)=0;G(i,j)=L;B(i,j)=-4*I(i,j)+2*L;else if I(i,j)<=3*L/4R(i,j)=4*I(i,j)-2*L;G(i,j)=L;B(i,j)=0;elseR(i,j)=L;G(i,j)=-4*I(i,j)+4*L;B(i,j)=0;endendendendendfor i=1:mfor j=1:nG2C(i,j,1)=R(i,j);G2C(i,j,2)=G(i,j);G2C(i,j,3)=B(i,j);endendG2C=G2C/256;subplot(122);imshow(G2C);title('Pseudo-Color');Discussion of resultsoriginal Pseudo-ColorFigure 4 results of project 06-02Color Image Enhancement by Histogram ProcessingExp. 22,PROJECT 06-03ObjectiveTo know how to implement image enhancement for color images by histogram processing. Note that the definition of histogram for color images differs from that of histogram for gray images.RequirementsDownload the dark-stream color picture in Fig. 6.35. Histogram-equalize the R,G,and B images separately using the histogram-equalization program and convert the imageback to jpg format.Figure 5 Fig6.35(5).jpgTechnical discussion【1】C = cat(dim, A1, A2, A3, A4, ...)concatenates all the input arrays (A1, A2, A3, A4, and so on) along array dimension dim.Program listingsI=imread('Fig6.35(5).jpg');subplot(121);imshow(I);title('original');a=I(:,:,1);b=I(:,:,2);c=I(:,:,3);A=histeq(a);B=histeq(b);C=histeq(c);I3=cat(3,A,B,C);subplot(122);imshow(I3);title('histogram processing');Discussion of resultsoriginal histogram processingFigure 6 results of project 06-03Color Image SegmentationExp. 23,PROJECT 06-04ObjectiveColor image segmentation is a big issue in image processing. This students need to know the basics of this topic.RequirementsDownload Fig. 6.28(b) and duplicate Example 6.15, but segment instead the darkest regions in the image.Figure 7 Fig6.30(01).jpgTechnical discussion【1】RGB2 = im2double(RGB)converts the truecolor image RGB to double precision, rescaling the data if necessaryProgram listingsrgb=imread('Fig6.30(01).jpg');subplot(221);imshow(rgb);title('original');rgb1=im2double(rgb);r=rgb1(:,:,1);g=rgb1(:,:,2);b=rgb1(:,:,3);r1=r(129:256,86:170);r1_u=mean(mean(r1(:)));[m,n]=size(r1);sd1=0.0;for i=1:mfor j=1:nsd1=sd1+(r1(i,j)-r1_u)*(r1(i,j)-r1_u);endendr1_d=sqrt(sd1/(m*n));r2=zeros(size(rgb1,1),size(rgb1,2));ind=find((r>r1_u-1.25*r1_d)&(r<r1_u+1.25*r1_d));r2(ind)=1;subplot(222);imshow(r2);title('segmentation');subplot(234);imshow(r);title('R component');subplot(235);imshow(g);title('G component');subplot(236);imshow(b);title('B component');Discussion of resultsoriginal segmentationR component G component B componentFigure 8 results of project 06-04。
数字图像处理实验6 冈萨雷斯
实验六图像压缩(同预习)一、实验目的1、理解有损压缩和无损压缩的概念;2、理解图像压缩的主要原则和目的;3、利用MATLAB 程序进行图像压缩。
二、实验内容1、Huffman 编码使用mat2huff,huff2mat 实现Huffman 编解码,并应用imratio 计算编码后信号的压缩率。
2、编写无损预测编解码(lossless predictive coding)程序,使p313 Figure 8.7 (c)图具有更低的熵(5.4436)。
显示预测误差(prediction error)图。
用解码程序解码,并验证解码是否正确(compare)。
3、参考p319-323,实现16×16分块离散余弦(DCT)编码,用zigzag方式保留每一块的前10个和前21个系数,再进行进行DCT解码。
编写程序并分别显示解码后的两个图。
实验程序:实验1:i=imread('Fig0804(a)(Tracy).tif'); i1=mat2huff(i);cr1=imratio(i,i1);%cr1,压缩率i2=huff2mat(i1);rmse1=compare(i,i2);figure,imshow(i);figure,imshow(i2);实验2:子程序1:function y = mat2lpc2(x, f)%本程序改自课本上那个程序,可实现更高压缩率!error(nargchk(1, 2, nargin)); % Check input argumentsif nargin < 2 % Set default filter if omittedf = 1;endx = double(x); % Ensure double for computations [m, n] = size(x); % Get dimensions of input matrixp = zeros(m, n); % Init linear prediction to 0xs = x; zc = zeros(1,n); % Prepare for input shift and pad for j = 1:length(f) % For each filter coefficient ...xs = [zc; xs(1:end - 1,:)]; % Shift and zero pad xga改加一行 p = p + f(j) * xs; % Form partial prediction sumsendy = x - round(p); % Compute the prediction error子程序2:function x = lpc2mat2(y, f)% 本程序改自课本上那个程序,可以解压error(nargchk(1, 2, nargin)); % Check input argumentsif nargin < 2 % Set default filter if omittedf = 1;endy=y';f = f(end:-1:1); % Reverse the filter coefficients[m, n] = size(y); % Get dimensions of output matrix order = length(f); % Get order of linear predictorf = repmat(f, m, 1); % Duplicate filter for vectorizingx = zeros(m, n + order); % Pad for 1st 'order' column decodes% Decode the output one column at a time. Compute a prediction based % on the 'order' previous elements and add it to the prediction% error. The result is appended to the output matrix being built.for j = 1:njj = j + order;x(:, jj) = y(:, j) + round(sum(f(:, order:-1:1) .* ...x(:, (jj - 1):-1:(jj - order)), 2));endx = x(:, order + 1:end); % Remove left paddingx=x';总程序:f=imread('Fig0807(c)(Aligned).tif');e=mat2lpc2(f);figure,imshow(mat2gray(e));h=entropy(e);c=lpc2mat2(e);figure,imshow(c,[]);rmse=compare(f,c);实验三:i=imread('Fig0804(a)(Tracy).tif');i=im2double(i);mask1=[1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 01 1 1 0 0 0 0 0 0 0 0 0 0 0 0 01 1 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ];mask2=[1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 01 1 1 1 1 0 0 0 0 0 0 0 0 0 0 01 1 1 1 0 0 0 0 0 0 0 0 0 0 0 01 1 1 0 0 0 0 0 0 0 0 0 0 0 0 01 1 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ];T=dctmtx(16);B=blkproc(i,[16 16],'P1*x*P2',T,T'); i1=blkproc(B,[16 16],'P1.*x',mask1); i2=blkproc(B,[16 16],'P1.*x',mask2); ii1=blkproc(i1,[16 16],'P1*x*P2',T',T); ii2=blkproc(i2,[16 16],'P1*x*P2',T',T); figure,imshow(ii1);figure,imshow(ii2);。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六图像压缩(同预习)
一、实验目的
1、理解有损压缩和无损压缩的概念;
2、理解图像压缩的主要原则和目的;
3、利用MATLAB 程序进行图像压缩。
二、实验内容
1、Huffman 编码
使用mat2huff,huff2mat 实现Huffman 编解码,并应用imratio 计算编码后信号的压缩率。
2、编写无损预测编解码(lossless predictive coding)程序,使p313 Figure 8.7 (c)
图具有更低的熵(5.4436)。
显示预测误差(prediction error)图。
用解码程序解码,并验证解码是否正确(compare)。
3、参考p319-323,实现16×16分块离散余弦(DCT)编码,用zigzag方式保留每一
块的前10个和前21个系数,再进行进行DCT解码。
编写程序并分别显示解码后的两个图。
实验程序:
实验1:
i=imread('Fig0804(a)(Tracy).tif'); i1=mat2huff(i);
cr1=imratio(i,i1);%cr1,压缩率
i2=huff2mat(i1);
rmse1=compare(i,i2);
figure,imshow(i);
figure,imshow(i2);
实验2:
子程序1:
function y = mat2lpc2(x, f)
%本程序改自课本上那个程序,可实现更高压缩率!
error(nargchk(1, 2, nargin)); % Check input arguments
if nargin < 2 % Set default filter if omitted
f = 1;
end
x = double(x); % Ensure double for computations [m, n] = size(x); % Get dimensions of input matrix
p = zeros(m, n); % Init linear prediction to 0
xs = x; zc = zeros(1,n); % Prepare for input shift and pad for j = 1:length(f) % For each filter coefficient ...
xs = [zc; xs(1:end - 1,:)]; % Shift and zero pad xga改加一行 p = p + f(j) * xs; % Form partial prediction sums
end
y = x - round(p); % Compute the prediction error
子程序2:
function x = lpc2mat2(y, f)
% 本程序改自课本上那个程序,可以解压
error(nargchk(1, 2, nargin)); % Check input arguments
if nargin < 2 % Set default filter if omitted
f = 1;
end
y=y';
f = f(end:-1:1); % Reverse the filter coefficients
[m, n] = size(y); % Get dimensions of output matrix order = length(f); % Get order of linear predictor
f = repmat(f, m, 1); % Duplicate filter for vectorizing
x = zeros(m, n + order); % Pad for 1st 'order' column decodes
% Decode the output one column at a time. Compute a prediction based % on the 'order' previous elements and add it to the prediction
% error. The result is appended to the output matrix being built.
for j = 1:n
jj = j + order;
x(:, jj) = y(:, j) + round(sum(f(:, order:-1:1) .* ...
x(:, (jj - 1):-1:(jj - order)), 2));
end
x = x(:, order + 1:end); % Remove left padding
x=x';
总程序:
f=imread('Fig0807(c)(Aligned).tif');
e=mat2lpc2(f);
figure,imshow(mat2gray(e));
h=entropy(e);
c=lpc2mat2(e);
figure,imshow(c,[]);
rmse=compare(f,c);
实验三:
i=imread('Fig0804(a)(Tracy).tif');
i=im2double(i);
mask1=[1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ];
mask2=[1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ];
T=dctmtx(16);
B=blkproc(i,[16 16],'P1*x*P2',T,T'); i1=blkproc(B,[16 16],'P1.*x',mask1); i2=blkproc(B,[16 16],'P1.*x',mask2); ii1=blkproc(i1,[16 16],'P1*x*P2',T',T); ii2=blkproc(i2,[16 16],'P1*x*P2',T',T); figure,imshow(ii1);
figure,imshow(ii2);。