数字图像处理作业

发布 2022-07-18 20:37:28 阅读 4044

报告标题: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对原图像直接消除像素的降采样和经过平滑滤波后得到的降采样采样对比来看,经过平滑滤波后,图像模糊一些,但灰度值变化更加平滑,整体效果好于直接消除像素。

task3pixel 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;

endend

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)

数字图像处理作业

2017暑假小学期。专业。班级。姓名。学号。摘要 数字图像处理的目的是改善 质量,利用matlab设计几个简单的图像处理程序。该程序具备图像处理的日常功能 图像代数与几何运算 直方图与图像明暗关系分析 直方图均衡化 滤波器的使用与图像分割技术。通过运行 解释结合图像效果,分别介绍了处理原理与过程。关...

数字图像处理作业

图1是一张因拍摄时晃动而产生模糊的图像,试估计其psf并恢复图像。题中已明确此图是由于运动导致的模糊,所以采取课件上标准的恢复方法。首先,对 进行laplace滤波,是为了凸显图像中的高频部分,而后对图像进行radon变换以求出运动模糊的角度,由于角度标准和方向问题,需要将求出的角度减去90 也即。...

数字图像处理作业

数字图像处理上机实验题。一 基础部分。1.产生右图所示图像 f1 m,n 其中图像大小为256 256,中间亮条为128 32,暗处 0,亮处 100。对其进行fft 1 同屏显示原图f1 m,n 和fft f1 的幅度谱图 2 若令f2 m,n 1 m n f1 m,n 重复以上过程,比较二者幅度...