数字图像处理 作业1

报告标题:

报告编号:

课程编号:

学生姓名:

截止日期:

上交日期:

数字图像处理 01

摘要

(1)编写函数计算灰度图像的均方误差(MSE )、信噪比(SNR )、峰值信噪比(PSNR )、平均绝对误差(MAE );(2)编写函数对灰度图像经行降采样,直接消除像素以及消除像素前进行简单平滑滤波;(3)编写函数对图像进行放大,分别使用像素直接复制和双线性插值的方法:(4)编写函数用题目给出的量化步骤Q 去量化灰度图像,并给出相应的MSE 和直方图;(5)编写函数对灰度图像执行直方图均衡化,显示均衡前后的直方图。同时,熟悉使用MATLAB ,并且熟练操作对图像进行各种修改变换等。

KEY WORD :MATLAB MSE、PSNR 直方图量化

技术探讨

数字图像处理是基于Matlab 来实现的,由于Matlab 独特的功能和对矩阵,图像,函数灵活的处理,因而用于图像的处理相当的方便。

task1

均方误差(MSE ), 信噪比(SNR ), 峰值信噪比(PSNR ), 平均绝对误差(MAE )。可以使用使用for 循环语句,分别计算图像MSE/SNR/PSNR/MAE,具体的计算公式见附录代码,下面只附运算原理代码

均方误差(MSE ):

sum=sum+(a(i,j)-b(i,j))^2; MSE=sum/(M*N)

信噪比(SNR ):

sum2=sum2+a(i,j)^2; SNR=10*log10(sum2/MSE)

峰值信噪比(PSNR ):

sum=sum+(a(i,j)-b(i,j))^2; PSNR=10*log10(255^2/MSE)

平均绝对误差(MAE ):

sum=sum+a(i,j)+b(i,j); MAE=sum/(M*N)

在每次对同一个图像处理时它们的均方误差(MSE ), 信噪比(SNR ), 峰值信噪比(PSNR ), 平均绝对误差(MAE )都会有所不同,因为它是原图像与加噪后的图像比较,而电脑的每次操作都会对加噪过得图像有影响。

task3

按比例缩小灰度图像

(1)直接消除像素点:

I1=g(1:m:end,1:m:end);I1 为缩小后的图像,g 为原图。

(2)先平滑滤波再消除像素点:

滤波函数,g=imfilter(I,w,'corr','replicate');

task4

对图像的放大运用了pixel repetition法以及双线性插值法:

它有三种插值法:即最近邻插值(pixel repetition )、双线性插值、双三次插值(缩放倍数为0.5) ;缩放与放大由给定的参数来确定。

; 缩放与放大由给定的参数来确定。而缩小则同样适用I1=g(1:m:end,1:m:end);

而放大的代码为“J=imresize(I,m,'nearest');%使用pixel repetition 法” 和 “J=imresize(I,m,'bilinear');%使用双线性插值法 ”

放大倍数更改m 值即可

task4

对图像的量化,使用“J=histeq(I,x); ”,x 为可变的量化步长

task5

灰度图像的量化和直方图均衡化直接调用函数。“J=histeq(I)”“imhist(I,64)”

结果:图像的结果

Task1

mse =0.0426psnr =61.8377SNR =68.5982MAE =262.2853

mse =0.0443psnr =61.6711SNR =73.3907MAE =262.2102

处理给定的测试图像“Lena ”, 以其原始的形式和加过噪声之后的形式。(用其他图像代替)

Task2

编写MATLAB 函数通过两种不同的方法抽取一幅灰度图像从原来的大小到给定的输出尺寸: (用其他图像代替)

处理给定的测试图像“Living Room” ,按给定比例系数缩小:2:1, 4:1, 8:1,16:1

(a)直接消除像素

(b)消除像素前进行初步的图像滤波

)

Task3

编写MATLAB 函数通过两种不同的方法放大一幅灰度图像从原来的大小到给定的输出尺寸

(a)像素重复

(b)双线性插值[内插

]

用上述方法将Task 2放大回原尺寸

并对使用MATLAB 方法对原图像以及放大后的图像计算均方误差和峰值信噪比

(a)像素重复

2:1 时MSE = 2.6753e+003 PSNR = 13.8571

4:1 时MSE = 2.4600e+003 PSNR = 14.2214

8:1 时MSE = 2.4696e+003 PSNR = 14.2045

16:1 时MSE = 2.0887e+003 PSNR = 14.9321

(b)双线性插值[内插]

2:1 时MSE = 3.3733e+003 PSNR =12.8503

4:1 时MSE =2.6291e+003 PSNR =13.9327

8:1 时MSE =2.4658e+003 PSNR =14.2113

16:1 时MSE =2.4248e+003 PSNR =14.2840

在相同尺寸减少率下,确定哪些组合缩小/放大的方法能提供最小均方误差以及最大峰值信噪比

最小均方误差最大最大峰值信噪比

(a)像素重复

16:1 时MSE = 2.0887e+003 PSNR = 14.9321

(b)双线性插值[内插]

16:1 时MSE =2.4248e+003 PSNR =14.2840

Task4

编写MATLAB 函数以量化步长Q 来量化(数字转换) 灰度图像。以量化步长Q =2, 4, 8 16, 32, 64, 128 处理给定的测试图像“Lena ”(用其他图像代替)

不同量化步长Q 量化后的图像的对比

对每一个量化步长显示量化的图像以及它相应的直方图。显示测试图像及其直方图。

量化后的图像的直方图对比

对Task 1用MATLAB 编写的方法计算原始以及量化(数字转换)图像的均方误差

Q=2 时 MSE=8.6904e+003

Q=4时 MSE=6.7394e+003

Q=8时 MSE=5.3419e+003

Q=16时 MSE=4.8395e+003

Q=32时 MSE=4.7529e+003

Q=64时 MSE=4.7060e+003

Q=128时MSE=4.6526e+003

Task5

编写MATLAB 函数对图像“ Fig0316(1)(top_left)” 和图像“ Fig0316(4)(bottom_left) ”分别地进行直方图均衡,并在直方图均衡前后显示图像的直方图(用其他图像代替)

结果探讨

Task1

在每次对同一个图像处理时它们的均方误差(MSE ), 信噪比(SNR ), 峰值信噪比(PSNR ),

平均绝对误差(MAE )都会有所不同,因为它是原图像与加噪后的图像比较,而电脑的每次操作都会对加噪过得图像有影响。

给原图像加入高斯噪音,则可看出SNR 与PSNR 的变化,因为其实评价噪声的;MSE 可以评价数据的变化程度,MSE 的值越小,说明数据具有更好的精确度。MAE 是将各次测量的绝对误差取绝对值后再求平均值。 Task2

对原图像直接消除像素的降采样和经过平滑滤波后得到的降采样采样对比来看,经过平滑滤波后,图像模糊一些,但灰度值变化更加平滑,整体效果好于直接消除像素

Task3

pixel repetition(像素重复) 和双线性插值法对图像的缩放,其处理效果相近,但从MSE 和PSNR 值来看,双线性插值法更好。但运算时间较长 将缩小后的图像再放大,还原效果都较好

Task4

可以看出,对图像进行量化后,随着量化步长越大,图像越接近原图;当Q=2时,图像几乎全白,而直方图灰度值也极端的集中在0和250两个值上。 随着量化步长增加,图像细节几个方面均有明显转变,而直方图灰度值也逐渐向着整个灰度级数覆盖,最后集中于10到250之间

Task5

第一幅图,绘制其直方图可以看到直方图灰度值主要集中在100到150之间,均衡化后灰度值覆盖整个灰度级数。

第二幅图图相比相对亮一些,绘制其直方图可以看到直方图灰度值主要集中在60到120以及200到250之间,均衡化后灰度值覆盖整个灰度级数。

附录:程序列表

第一题:

均方误差(MSE ): sum=sum+(a(i,j)-b(i,j))^2; MSE=sum/(M*N) 峰值信噪比(PSNR ) sum=sum+(a(i,j)-b(i,j))^2; PSNR=10*log10(255^2/MSE) 计算MSE; PSNR;

clear all;

close all;

I=imread('C:\Users\Dark Selee\Desktop\bbpg'); %录入图像 figure(1),imshow(I);

X=rgb2gray(I); %将真彩色图像转换为灰度图像。

[height width]=size(X);

X=im2double(X);

A=imnoise(X,'gaussian',0,0.05); %加高斯噪声

figure(2),imshow(A);

%利用两组for 循环,即可实现计算

sigma1=0;

for i=1:height

for j=1:width

sigma1=sigma1+(X(i,j)-A(i,j))^2;

end

end

mse=(sigma1/(height*width)) %均方误差

psnr=10*log10((255^2)/mse) %峰值信噪比

信噪比(SNR )sum2=sum2+a(i,j)^2; SNR=10*log10(sum2/MSE) 计算SNR;

clear all;

close all;

J=imnoise(I,'gaussian'); %加噪声

a=double(I);

b=double(J);

[M,N]=size(I);

sum=0;

%先计算出MSE

for i=1:M;

for j=1:N;

sum=sum+(a(i,j)-b(i,j))^2;

end;

end;

MSE=sum/(M*N)

sum2=0;

%同上,利用两组for 循环,即可实现计算

for i=1:M;

for j=1:N;

sum2=sum2+a(i,j)^2;

end;

end;

SNR=10*log10(sum2/MSE)

平均绝对误差(MAE )sum=sum+a(i,j)+b(i,j); MAE=sum/(M*N) 计算MAE;

J=imnoise(I,'gaussian'); %加噪声

a=double(I);

b=double(J);

[M,N]=size(I);

sum=0;

for i=1:M;

for j=1:N;

sum=sum+a(i,j)+b(i,j);

end;

end;

MAE=sum/(M*N)

处理给定的测试图像, 以其原始的形式和加过噪声之后的形式 clear all;

close all;

I=imread('C:\Users\Dark Selee\Desktop\aa.jpg'); %读入图像 figure(1),imshow(I);

X=rgb2gray(I); %将真彩色图像转换为灰度图像。

[height width]=size(X);

X=im2double(X);

A=imnoise(X,'gaussian',0,0.05); %加高斯噪声

figure(2),imshow(A); %显示图像

直接消除像素点

X=imread('C:\Users\Dark Selee\Desktop\bb.jpg'); %读图像

I=rgb2gray(X);

figure(2);

m=imfilter(I,w,'corr','replicate');

subplot(3,2,1); imshow(I); title('原图')

subplot(3,2,3); M=g(1:2:end,1:2:end); % 以2:1的比例缩小 M

imshow(I1); title('2:1 图')

subplot(3,2,4); M2=m(1:4:end,1:4:end); %以4:1的比例缩

imshow(I2); title('4:1 图')

subplot(3,2,5); M3=m(1:8:end,1:8:end); %以8:1的比例缩小

imshow(I3); title('8:1 图')

subplot(3,2,6); M4=m(1:16:end,1:16:end); %以16:1的比例缩小

imshow(I4); title('16:1图')

先滤波再消除像素点

X=imread('C:\Users\Dark Selee\Desktop\bb.jpg'); %读图像

I=rgb2gray(X);figure(2);

m=[1 1 1;1 1 1;1 1 1]/9; %为领域平均模板,为缩小做处理

g=imfilter(I,w,'corr','replicate'); %对原图像进行平滑滤波处理 subplot(3,2,1); imshow(I);

subplot(3,2,2); imshow(g); title('滤波后的图)

subplot(3,2,3); M1=m(1:2:end,1:2:end); % 以2:1的比例缩小

imshow(I1); title('2:1 图')

subplot(3,2,4); M2=m(1:4:end,1:4:end); %以4:1的比例缩小

imshow(I2); title('4:1 图')

subplot(3,2,5); M3=m(1:8:end,1:8:end); %以8:1的比例缩小

imshow(I3); title('8:1 图')

subplot(3,2,6); M4=m(1:16:end,1:16:end); %以16:1的比例缩小

imshow(I4); title('16:1 图')

pixel repetition法

2:1的图像处理

A=imread(' C:\Users\Dark Selee\Desktop\bb.jpg '); %读图像

I=rgb2gray(A);

figure(1);

IM=I(1:2:end, 1:2:end);

subplot(1,3,1); imshow(I); title('原图像');

subplot(1,3,2); imshow(IM); title('按2:1缩小的图像');

J=imresize(I,2,'nearest'); %使用pixel repetition法

subplot(1,3,3); imshow(J); title('按1:2放大的图像');

%负责运算MSE 与PSNR 的函数,与第一题代码一致

a=double(I);

b=double(J);

[M,N]=size(I);

sum=0;

for i=1:M;

for j=1:N;

sum=sum+(a(i,j)-b(i,j))^2;

end;

end;

MSE=sum/(M*N)

PSNR=10*log10(255^2/MSE)

双线性插值法

2:1的图像处理

A=imread(' C:\Users\Dark Selee\Desktop\bb.jpg '); %读图像

I=rgb2gray(A);

figure(1);

IM=I(1:2:end, 1:2:end);

subplot(1,3,1); imshow(I); title('原图像');

subplot(1,3,2); imshow(IM); title('按2:1缩小的图像');

J=imresize(I,2,'bilinear'); %使用双线性插值法

subplot(1,3,3); imshow(J); title('按1:2放大的图像');

%负责运算MSE 与PSNR 的函数,与第一题代码一致

a=double(IM);

b=double(J);

[M,N]=size(I);

sum=0;

for i=1:M;

for j=1:N;

sum=sum+(a(i,j)-b(i,j))^2;

end;

end;

MSE=sum/(M*N)

PSNR=10*log10(255^2/MSE)

两题的4:1 、8:1 、16:1的图像处理的代码

基本与2:1的一致,只是将

“1=I(1:2:end,1:2:end); J=imresize(I,2,'bilinear'); ”分别替换为

“IM= (1:4:end,1:4:end); J=imresize(I,4,'bilinear'); ”

“I M = (1:8:end,1:8:end); J=imresize(I,8,'bilinear'); ”

“1 M =I(1:16:end,1:16:end); J=imresize(I,16,'bilinear'); ”

即可

第四题

Q=2

clear all;

close all;

A=imread('C:\Users\Dark Selee\Desktop\dd.jpg'); %读图像

I=rgb2gray(A);

figure;

J=histeq(I,2);

subplot(2,2,1); imshow(I); title('原始图像')

subplot(2,2,2); imhist(I); title('原始图像直方图')

subplot(2,2,3); imshow(J); title('量化后图像')

subplot(2,2,4); imhist(J); title('量化后图像直方图')

%计算MSE 的代码,与第一题一致

[M,N]=size(I);

a=double(I);

b=double(J);

sum=0;

for i=1:M;

for j=1:N;

sum=sum+(a(i,j)-b(i,j))^2;

end;

end;

MSE=sum/(M*N)

Q=4 、Q=8 、Q=16、 Q=32 、Q=64 、Q=128的图像处理的代码

基本Q=2的一致,只是将“J=histeq(I,2);”分别替换为

“J=histeq(I,4);”

“J=histeq(I,8);”

“J=histeq(I,16);”

“J=histeq(I,32);”

“J=histeq(I,64);”

即可

(下代码仅用作方便显示对比

B=histeq(A,2); B1=imhist(B);

C=histeq(A,4); C1=imhist(C);

D=histeq(A,8); D1=imhist(D);

E=histeq(A,16); E1=imhist(E);

F=histeq(A,32); F1=imhist(F);

G=histeq(A,64); G1=imhist(G);

H=histeq(A,128);H1=imhist(H);

subplot(4,2,1);imshow(B1); title('Q=2')

subplot(4,2,2);imshow(C1); title('Q=4')

subplot(4,2,3);imshow(D1); title('Q=8')

subplot(4,2,4);imshow(E1); title('Q=16')

subplot(4,2,5);imshow(F1); title('Q=32')

subplot(4,2,6);imshow(G1); title('Q=64')

subplot(4,2,7);imshow(H1); title('Q=128')

)

第五题

clear all;

close all;

A=imread('C:\Users\Dark Selee\Desktop\cc.png'); %读图像Fig0316(4)(bottom_left) I=rgb2gray(A);

J=histeq(I); %用直方图均衡来增强对比度

figure;

subplot(2,2,1);imshow(I); title('原始图像')

subplot(2,2,2);imshow(J); title('增强对比度后的图像')

subplot(2,2,3);imhist(I,64); title('原始直方图')

subplot(2,2,4);imhist(J,64) ;title('增强对比度后的直方图')

报告标题:

报告编号:

课程编号:

学生姓名:

截止日期:

上交日期:

数字图像处理 01

摘要

(1)编写函数计算灰度图像的均方误差(MSE )、信噪比(SNR )、峰值信噪比(PSNR )、平均绝对误差(MAE );(2)编写函数对灰度图像经行降采样,直接消除像素以及消除像素前进行简单平滑滤波;(3)编写函数对图像进行放大,分别使用像素直接复制和双线性插值的方法:(4)编写函数用题目给出的量化步骤Q 去量化灰度图像,并给出相应的MSE 和直方图;(5)编写函数对灰度图像执行直方图均衡化,显示均衡前后的直方图。同时,熟悉使用MATLAB ,并且熟练操作对图像进行各种修改变换等。

KEY WORD :MATLAB MSE、PSNR 直方图量化

技术探讨

数字图像处理是基于Matlab 来实现的,由于Matlab 独特的功能和对矩阵,图像,函数灵活的处理,因而用于图像的处理相当的方便。

task1

均方误差(MSE ), 信噪比(SNR ), 峰值信噪比(PSNR ), 平均绝对误差(MAE )。可以使用使用for 循环语句,分别计算图像MSE/SNR/PSNR/MAE,具体的计算公式见附录代码,下面只附运算原理代码

均方误差(MSE ):

sum=sum+(a(i,j)-b(i,j))^2; MSE=sum/(M*N)

信噪比(SNR ):

sum2=sum2+a(i,j)^2; SNR=10*log10(sum2/MSE)

峰值信噪比(PSNR ):

sum=sum+(a(i,j)-b(i,j))^2; PSNR=10*log10(255^2/MSE)

平均绝对误差(MAE ):

sum=sum+a(i,j)+b(i,j); MAE=sum/(M*N)

在每次对同一个图像处理时它们的均方误差(MSE ), 信噪比(SNR ), 峰值信噪比(PSNR ), 平均绝对误差(MAE )都会有所不同,因为它是原图像与加噪后的图像比较,而电脑的每次操作都会对加噪过得图像有影响。

task3

按比例缩小灰度图像

(1)直接消除像素点:

I1=g(1:m:end,1:m:end);I1 为缩小后的图像,g 为原图。

(2)先平滑滤波再消除像素点:

滤波函数,g=imfilter(I,w,'corr','replicate');

task4

对图像的放大运用了pixel repetition法以及双线性插值法:

它有三种插值法:即最近邻插值(pixel repetition )、双线性插值、双三次插值(缩放倍数为0.5) ;缩放与放大由给定的参数来确定。

; 缩放与放大由给定的参数来确定。而缩小则同样适用I1=g(1:m:end,1:m:end);

而放大的代码为“J=imresize(I,m,'nearest');%使用pixel repetition 法” 和 “J=imresize(I,m,'bilinear');%使用双线性插值法 ”

放大倍数更改m 值即可

task4

对图像的量化,使用“J=histeq(I,x); ”,x 为可变的量化步长

task5

灰度图像的量化和直方图均衡化直接调用函数。“J=histeq(I)”“imhist(I,64)”

结果:图像的结果

Task1

mse =0.0426psnr =61.8377SNR =68.5982MAE =262.2853

mse =0.0443psnr =61.6711SNR =73.3907MAE =262.2102

处理给定的测试图像“Lena ”, 以其原始的形式和加过噪声之后的形式。(用其他图像代替)

Task2

编写MATLAB 函数通过两种不同的方法抽取一幅灰度图像从原来的大小到给定的输出尺寸: (用其他图像代替)

处理给定的测试图像“Living Room” ,按给定比例系数缩小:2:1, 4:1, 8:1,16:1

(a)直接消除像素

(b)消除像素前进行初步的图像滤波

)

Task3

编写MATLAB 函数通过两种不同的方法放大一幅灰度图像从原来的大小到给定的输出尺寸

(a)像素重复

(b)双线性插值[内插

]

用上述方法将Task 2放大回原尺寸

并对使用MATLAB 方法对原图像以及放大后的图像计算均方误差和峰值信噪比

(a)像素重复

2:1 时MSE = 2.6753e+003 PSNR = 13.8571

4:1 时MSE = 2.4600e+003 PSNR = 14.2214

8:1 时MSE = 2.4696e+003 PSNR = 14.2045

16:1 时MSE = 2.0887e+003 PSNR = 14.9321

(b)双线性插值[内插]

2:1 时MSE = 3.3733e+003 PSNR =12.8503

4:1 时MSE =2.6291e+003 PSNR =13.9327

8:1 时MSE =2.4658e+003 PSNR =14.2113

16:1 时MSE =2.4248e+003 PSNR =14.2840

在相同尺寸减少率下,确定哪些组合缩小/放大的方法能提供最小均方误差以及最大峰值信噪比

最小均方误差最大最大峰值信噪比

(a)像素重复

16:1 时MSE = 2.0887e+003 PSNR = 14.9321

(b)双线性插值[内插]

16:1 时MSE =2.4248e+003 PSNR =14.2840

Task4

编写MATLAB 函数以量化步长Q 来量化(数字转换) 灰度图像。以量化步长Q =2, 4, 8 16, 32, 64, 128 处理给定的测试图像“Lena ”(用其他图像代替)

不同量化步长Q 量化后的图像的对比

对每一个量化步长显示量化的图像以及它相应的直方图。显示测试图像及其直方图。

量化后的图像的直方图对比

对Task 1用MATLAB 编写的方法计算原始以及量化(数字转换)图像的均方误差

Q=2 时 MSE=8.6904e+003

Q=4时 MSE=6.7394e+003

Q=8时 MSE=5.3419e+003

Q=16时 MSE=4.8395e+003

Q=32时 MSE=4.7529e+003

Q=64时 MSE=4.7060e+003

Q=128时MSE=4.6526e+003

Task5

编写MATLAB 函数对图像“ Fig0316(1)(top_left)” 和图像“ Fig0316(4)(bottom_left) ”分别地进行直方图均衡,并在直方图均衡前后显示图像的直方图(用其他图像代替)

结果探讨

Task1

在每次对同一个图像处理时它们的均方误差(MSE ), 信噪比(SNR ), 峰值信噪比(PSNR ),

平均绝对误差(MAE )都会有所不同,因为它是原图像与加噪后的图像比较,而电脑的每次操作都会对加噪过得图像有影响。

给原图像加入高斯噪音,则可看出SNR 与PSNR 的变化,因为其实评价噪声的;MSE 可以评价数据的变化程度,MSE 的值越小,说明数据具有更好的精确度。MAE 是将各次测量的绝对误差取绝对值后再求平均值。 Task2

对原图像直接消除像素的降采样和经过平滑滤波后得到的降采样采样对比来看,经过平滑滤波后,图像模糊一些,但灰度值变化更加平滑,整体效果好于直接消除像素

Task3

pixel repetition(像素重复) 和双线性插值法对图像的缩放,其处理效果相近,但从MSE 和PSNR 值来看,双线性插值法更好。但运算时间较长 将缩小后的图像再放大,还原效果都较好

Task4

可以看出,对图像进行量化后,随着量化步长越大,图像越接近原图;当Q=2时,图像几乎全白,而直方图灰度值也极端的集中在0和250两个值上。 随着量化步长增加,图像细节几个方面均有明显转变,而直方图灰度值也逐渐向着整个灰度级数覆盖,最后集中于10到250之间

Task5

第一幅图,绘制其直方图可以看到直方图灰度值主要集中在100到150之间,均衡化后灰度值覆盖整个灰度级数。

第二幅图图相比相对亮一些,绘制其直方图可以看到直方图灰度值主要集中在60到120以及200到250之间,均衡化后灰度值覆盖整个灰度级数。

附录:程序列表

第一题:

均方误差(MSE ): sum=sum+(a(i,j)-b(i,j))^2; MSE=sum/(M*N) 峰值信噪比(PSNR ) sum=sum+(a(i,j)-b(i,j))^2; PSNR=10*log10(255^2/MSE) 计算MSE; PSNR;

clear all;

close all;

I=imread('C:\Users\Dark Selee\Desktop\bbpg'); %录入图像 figure(1),imshow(I);

X=rgb2gray(I); %将真彩色图像转换为灰度图像。

[height width]=size(X);

X=im2double(X);

A=imnoise(X,'gaussian',0,0.05); %加高斯噪声

figure(2),imshow(A);

%利用两组for 循环,即可实现计算

sigma1=0;

for i=1:height

for j=1:width

sigma1=sigma1+(X(i,j)-A(i,j))^2;

end

end

mse=(sigma1/(height*width)) %均方误差

psnr=10*log10((255^2)/mse) %峰值信噪比

信噪比(SNR )sum2=sum2+a(i,j)^2; SNR=10*log10(sum2/MSE) 计算SNR;

clear all;

close all;

J=imnoise(I,'gaussian'); %加噪声

a=double(I);

b=double(J);

[M,N]=size(I);

sum=0;

%先计算出MSE

for i=1:M;

for j=1:N;

sum=sum+(a(i,j)-b(i,j))^2;

end;

end;

MSE=sum/(M*N)

sum2=0;

%同上,利用两组for 循环,即可实现计算

for i=1:M;

for j=1:N;

sum2=sum2+a(i,j)^2;

end;

end;

SNR=10*log10(sum2/MSE)

平均绝对误差(MAE )sum=sum+a(i,j)+b(i,j); MAE=sum/(M*N) 计算MAE;

J=imnoise(I,'gaussian'); %加噪声

a=double(I);

b=double(J);

[M,N]=size(I);

sum=0;

for i=1:M;

for j=1:N;

sum=sum+a(i,j)+b(i,j);

end;

end;

MAE=sum/(M*N)

处理给定的测试图像, 以其原始的形式和加过噪声之后的形式 clear all;

close all;

I=imread('C:\Users\Dark Selee\Desktop\aa.jpg'); %读入图像 figure(1),imshow(I);

X=rgb2gray(I); %将真彩色图像转换为灰度图像。

[height width]=size(X);

X=im2double(X);

A=imnoise(X,'gaussian',0,0.05); %加高斯噪声

figure(2),imshow(A); %显示图像

直接消除像素点

X=imread('C:\Users\Dark Selee\Desktop\bb.jpg'); %读图像

I=rgb2gray(X);

figure(2);

m=imfilter(I,w,'corr','replicate');

subplot(3,2,1); imshow(I); title('原图')

subplot(3,2,3); M=g(1:2:end,1:2:end); % 以2:1的比例缩小 M

imshow(I1); title('2:1 图')

subplot(3,2,4); M2=m(1:4:end,1:4:end); %以4:1的比例缩

imshow(I2); title('4:1 图')

subplot(3,2,5); M3=m(1:8:end,1:8:end); %以8:1的比例缩小

imshow(I3); title('8:1 图')

subplot(3,2,6); M4=m(1:16:end,1:16:end); %以16:1的比例缩小

imshow(I4); title('16:1图')

先滤波再消除像素点

X=imread('C:\Users\Dark Selee\Desktop\bb.jpg'); %读图像

I=rgb2gray(X);figure(2);

m=[1 1 1;1 1 1;1 1 1]/9; %为领域平均模板,为缩小做处理

g=imfilter(I,w,'corr','replicate'); %对原图像进行平滑滤波处理 subplot(3,2,1); imshow(I);

subplot(3,2,2); imshow(g); title('滤波后的图)

subplot(3,2,3); M1=m(1:2:end,1:2:end); % 以2:1的比例缩小

imshow(I1); title('2:1 图')

subplot(3,2,4); M2=m(1:4:end,1:4:end); %以4:1的比例缩小

imshow(I2); title('4:1 图')

subplot(3,2,5); M3=m(1:8:end,1:8:end); %以8:1的比例缩小

imshow(I3); title('8:1 图')

subplot(3,2,6); M4=m(1:16:end,1:16:end); %以16:1的比例缩小

imshow(I4); title('16:1 图')

pixel repetition法

2:1的图像处理

A=imread(' C:\Users\Dark Selee\Desktop\bb.jpg '); %读图像

I=rgb2gray(A);

figure(1);

IM=I(1:2:end, 1:2:end);

subplot(1,3,1); imshow(I); title('原图像');

subplot(1,3,2); imshow(IM); title('按2:1缩小的图像');

J=imresize(I,2,'nearest'); %使用pixel repetition法

subplot(1,3,3); imshow(J); title('按1:2放大的图像');

%负责运算MSE 与PSNR 的函数,与第一题代码一致

a=double(I);

b=double(J);

[M,N]=size(I);

sum=0;

for i=1:M;

for j=1:N;

sum=sum+(a(i,j)-b(i,j))^2;

end;

end;

MSE=sum/(M*N)

PSNR=10*log10(255^2/MSE)

双线性插值法

2:1的图像处理

A=imread(' C:\Users\Dark Selee\Desktop\bb.jpg '); %读图像

I=rgb2gray(A);

figure(1);

IM=I(1:2:end, 1:2:end);

subplot(1,3,1); imshow(I); title('原图像');

subplot(1,3,2); imshow(IM); title('按2:1缩小的图像');

J=imresize(I,2,'bilinear'); %使用双线性插值法

subplot(1,3,3); imshow(J); title('按1:2放大的图像');

%负责运算MSE 与PSNR 的函数,与第一题代码一致

a=double(IM);

b=double(J);

[M,N]=size(I);

sum=0;

for i=1:M;

for j=1:N;

sum=sum+(a(i,j)-b(i,j))^2;

end;

end;

MSE=sum/(M*N)

PSNR=10*log10(255^2/MSE)

两题的4:1 、8:1 、16:1的图像处理的代码

基本与2:1的一致,只是将

“1=I(1:2:end,1:2:end); J=imresize(I,2,'bilinear'); ”分别替换为

“IM= (1:4:end,1:4:end); J=imresize(I,4,'bilinear'); ”

“I M = (1:8:end,1:8:end); J=imresize(I,8,'bilinear'); ”

“1 M =I(1:16:end,1:16:end); J=imresize(I,16,'bilinear'); ”

即可

第四题

Q=2

clear all;

close all;

A=imread('C:\Users\Dark Selee\Desktop\dd.jpg'); %读图像

I=rgb2gray(A);

figure;

J=histeq(I,2);

subplot(2,2,1); imshow(I); title('原始图像')

subplot(2,2,2); imhist(I); title('原始图像直方图')

subplot(2,2,3); imshow(J); title('量化后图像')

subplot(2,2,4); imhist(J); title('量化后图像直方图')

%计算MSE 的代码,与第一题一致

[M,N]=size(I);

a=double(I);

b=double(J);

sum=0;

for i=1:M;

for j=1:N;

sum=sum+(a(i,j)-b(i,j))^2;

end;

end;

MSE=sum/(M*N)

Q=4 、Q=8 、Q=16、 Q=32 、Q=64 、Q=128的图像处理的代码

基本Q=2的一致,只是将“J=histeq(I,2);”分别替换为

“J=histeq(I,4);”

“J=histeq(I,8);”

“J=histeq(I,16);”

“J=histeq(I,32);”

“J=histeq(I,64);”

即可

(下代码仅用作方便显示对比

B=histeq(A,2); B1=imhist(B);

C=histeq(A,4); C1=imhist(C);

D=histeq(A,8); D1=imhist(D);

E=histeq(A,16); E1=imhist(E);

F=histeq(A,32); F1=imhist(F);

G=histeq(A,64); G1=imhist(G);

H=histeq(A,128);H1=imhist(H);

subplot(4,2,1);imshow(B1); title('Q=2')

subplot(4,2,2);imshow(C1); title('Q=4')

subplot(4,2,3);imshow(D1); title('Q=8')

subplot(4,2,4);imshow(E1); title('Q=16')

subplot(4,2,5);imshow(F1); title('Q=32')

subplot(4,2,6);imshow(G1); title('Q=64')

subplot(4,2,7);imshow(H1); title('Q=128')

)

第五题

clear all;

close all;

A=imread('C:\Users\Dark Selee\Desktop\cc.png'); %读图像Fig0316(4)(bottom_left) I=rgb2gray(A);

J=histeq(I); %用直方图均衡来增强对比度

figure;

subplot(2,2,1);imshow(I); title('原始图像')

subplot(2,2,2);imshow(J); title('增强对比度后的图像')

subplot(2,2,3);imhist(I,64); title('原始直方图')

subplot(2,2,4);imhist(J,64) ;title('增强对比度后的直方图')


相关内容

  • [数字化工作流程系统]知识点复习
  • <数字化工作流程>复习 1. 概述 1) 集成化数字生产过程包括哪几个方面的内容? 行政管理(Administration),业务管理(business), 生产管理(production). 2) 印刷集成化生产模式的结构是怎样的? ERP 系统(包括了行政管理和业务管理) ,数字化工 ...

  • 农村土地确权专题方案
  • 公司简介  众望诠释: 郑州众望测绘工程技术有限公司注册于郑州市高新技术产业开发区,是一家提供基于全球卫星导航系统(GNSS).地理信息系统(GIS),集软件研发.系统集成和工程技术服务为一体,为行业客户提供全面解决方案的专业公司. 经营理念 我们坚持"品质决定价值"的理念,以 ...

  • 数字化测图测量实习报告
  • 一、实习安排 1.1 性质目的 毕业实习是我们在校内完成教学计划所规定的全部课程和实习、实验、课程设计以后的一次综合性生产技能锻炼实习。其目的是巩固和运用所学的全部知识,特别是测绘专业的理论知识和课程实践,通过参加实际工作,了解和掌握本专业的基本知识,锻炼分析问题和解决问题的实际能力。 1.2 实习 ...

  • 测绘工程实习报告---数字化测图
  • 一.实习安排1.1 性质目的毕业实习是我们在校内完成教学计划所规定的全部课程和实习.实验.课程设计以后的一次综合性生产技能锻炼实习.其目的是巩固和运用所学的全部知识,特别是测绘专业的理论知识和课程实践,通过参加实际工作,了解和掌握本专业的基本知识,锻炼分析问题和解决问题的实际能力.1.2 实习单位南

  • 摄影测量实习报告
  • 东华理工大学 摄影测量学实习2013 摄 影 测 量 学 实 习 报 告 姓名: 学号: 班级:1241502 专业:工程测量与监理 实习时间:12月9号至12月22号 2013年12月 第 1 共 16 页 东华理工大学 摄影测量学实习2013目录 一.前言 ................... ...

  • 数字化测图毕业设计范例1
  • 目 录 第一章 绪论 -------------------------1 第二章 已有资料利用分析 1测区概况-------------------------2 2作业依据和已有测绘资料------------------2 第三章 平面及高程控制设计 1 平面坐标及高程系统的选择------- ...

  • 航空摄影测量技术
  • www.eastdawn.com.cn 航空摄影测量技术介绍 测绘工程部 北京东方道迩信息技术股份有限公司 海淀大街8号,中钢国际广场10层 http://www.eastdawn.com .cn +86-10-62686799 内容提要 一.前言 二.航空摄影测量技术 三.航测作业实施流程 www ...

  • 智慧环卫-助力环卫管理信息化
  • 点服智慧环卫-助力环卫管理信息化 2014年5月 自2008年智慧城市被提出以来,数字化城市管理的概念已经深入人心.城管的各相关职能部门包括环卫部门也参与到了数字化城管中来.环卫部门作为专业的职能管理部门,需要根据自身业务的具体特点,打造"管理向过程延伸,服务向百姓身边延伸"的业 ...

  • 车牌识别数字图像处理
  • 期末大作业报告 课程名称: 数字图像处理 设计题目: 车牌识别 学 院: 信息工程与自动化学院 专 业: 计算机科学与技术 年 级: xxxxx 学生姓名: xxxxxxx ( 学号 xxxxxxxxxxxxx) 指导教师: xxxx 日 期: 2012.6.10 教 务 处 制 车牌识别 摘要:数 ...

  • [数字图像处理]复习大作业及答案
  • 2014年上学期<数字图像处理>复习大作业及参考答案 ===================================================== 一.选择题(共20题) 1.采用幂次变换进行灰度变换时,当幂次取大于1时,该变换是针对如下哪一类图像进行增 强.( B ) A ...