济南正规的网站制作,家具品牌网站,受欢迎的惠州网站建设,seo社区2018年认证杯SPSSPRO杯数学建模
B题 动态模糊图像
原题再现#xff1a; 人眼由于存在视觉暂留效应#xff0c;所以看运动的物体时#xff0c;看到的每一帧画面都包含了一段时间内 (大约 1/24 秒) 的运动过程#xff0c;所以这帧画面事实上是模糊的。对电影的截图来说 人眼由于存在视觉暂留效应所以看运动的物体时看到的每一帧画面都包含了一段时间内 (大约 1/24 秒) 的运动过程所以这帧画面事实上是模糊的。对电影的截图来说动态画面的每一帧也都是模糊的例如图 1 为某部电影截图展现的是在高速飞行中的拍摄效果所以俯拍到的路面字迹是模糊的。但是一般来说电脑游戏的每一帧画面都是以清晰的静态方式绘制出的所以需要较高的帧率才能感觉到平滑否则感觉会不够流畅。为了以较低的帧率能够取得较流畅的感受在计算机视觉技术中人们开发出了能够模拟动态模糊效果的算法。 第一阶段问题 当我们给出一张动态模糊的图片时很难看清被摄景观的细节。请设计合理的数学模型以恢复出尽可能清晰的画面。为简单起见我们可以假设摄像机的运动导致了模糊也就是图中的全部景观都以一个相同的速度运动。在论文中可以使用图 1也可以另行选用动态模糊的图像作为算例。
整体求解过程概述(摘要) 为了以较低的帧率能够取得较流畅的感受在计算机视觉技术中人们开发出了能够模拟动态模糊效果的算法。在此我们假设摄像机的运动导致了模糊也就是图中的全部景观都以一个相同的速度运动利用模糊图像复原算法复原出高清晰、高分辨率的图像。 针对问题一建立 PSF 点扩散函数通过采取傅里叶变换得到图片每点处的梯度大小用来反映三维图像中的第三个量然后灰度化处理频谱图S(, )。以 R、G、B 为轴建立空间直角坐标系结合 Radon 变换计算图像矩阵在某一特定方向的积分较准确的得出运动模糊图像运动方向。 针对问题二同样建立 PSF 点扩散函数利用得到二维模糊图像的一维频谱图像S将二维问题降维成一维问题并结合估计出的运动方向角度将频谱图像反向旋转。对旋转后的一维频谱图像S进行 SPF 滤波与二值化处理,按列累加进行微分运算计算出自相关图像估计出拍摄的物体与实际物体的位移差L。 针对问题三建立点扩展函数利用问题一、二所求的模糊方向和模糊尺度建立相应的运动模糊图像点扩展函数。用 Lucy-Richardson 滤波算法建立基于MATLAB 平台的仿真对附件图片 1 进行复原。引入 PSNR 的定义将图像的清晰度与其相关联分析清晰度与迭代次数的相关性进而转化为分析迭代次数与 PSNR 的大小之间的关系简化了模型。 针对问题四将小波变换理论与 Lucy-Richardson 算法相结合选取适当的阀值将图片进行多级分解并将每一级的高低频部分单独分离将低频部分与 L-R 算法结合利用 Lucy-Richardson 算法恢复图像高频部分进行阀值降噪后将噪声分离出去最大可能地降低噪声对 Lucy-Richardson 算法的影响。在多次分级运算后高低频的不同频域采取不同的复原方法完成对模糊图片的复原。
问题分析 问题一的分析 为了减少所拍图片的还原难度我们需要得出拍摄相机与物体之间的模糊角度通过这个角度我们可以更好的沿着指定方向进行还原。首先我们要创建出图片退化的线性数学模型接着选择准则函数并以适当的数学形式表达然后进行数学推演。推演过程中通常要进行表达形式即空域形式、频域形式、矩阵-矢量形式或变换域形式的相互转换最后得到图像复原的公式。 就一张单纯图片而言我们无法得知这张图片的频率大小因为所拍摄的物体是空间的而图片是平面的。因此需要引入第三个量使图片能够反映出三维的信息。通过查阅相关资料我们可以用梯度来反映第三个量而我们可以通过采取傅里叶变换得到图片每点处的梯度大小。即将一些看似紊乱的函数用很多条正弦波组合表现出来。从图片表示上可以说是把图片上的信息用频率的方式给表示出来。表现出来的频率用灰度梯度的形式显示到电脑屏幕上。比如说在一个温度变化不大空间变化不大的区域如沙漠其表现出来的灰度梯度就会比较平稳而对于像大陆表面温度变化是相对明显的因此表现出来的灰度会呈现较为剧烈的现象。 所以首先我们应该先把图形进行灰度化处理。以 R、G、B 为轴建立空间直角坐标系则RGB图的每个象素的颜色可以用该三维空间的一个点来表示而Gray 图的每个象素的颜色可以用直线R G B上的一个点来表示。于是rgb转gray 图的本质就是寻找一个三维空间到一维空间的映射最容易想到的就是射影即过rgb空间的一个点向直线R G B做垂线事实上Matlab也是这样做的并且有Gray 0.29900 ∗ R 0.58700 ∗ G 0.11400 ∗ B。 我们可以用matlab求出已知图像的傅里叶频谱图其会表现出来明暗不一的亮点这种现象就是梯度就是这个点的频率与相邻点的频率差异大小这里我们可以理解成空间上的高矮程度。那么空间上的三维向量全给表现出来了。在亮度较大的地方它的梯度也就较大在亮度较小的地方其梯度也就相对较小。同时我们也能够看出能量的分布大小。如果变换后的图像亮点很多说明原图片很多点与相邻点的梯度差异较大说明原图像比较刺眼比较尖锐。如果变换后的图像暗点很多说明很多点与相邻点的梯度差异较小说明原图像比较平稳比较柔和。 因为所拍图像可能含有很多外界因素的干扰。我们可以将傅里叶频谱图放在原点这样图像就是以原点为中心对称分布。如果出现还有其他的对称点那么这个就是干扰因素可能受到了其他正弦函数的干扰。从图像上就可以很直观的看出图像是否收到干扰。当然这种方式只能较为粗略的观察图像的干扰情况因此精度不高但是也能满足实验要求了。设暗纹与x轴正向夹角为φ运动模糊方向与x轴夹角为θ图像尺寸为M × N,根据傅里叶变换的时频特性可以知道可通过公式tan tan( − 90°) × M/N 得到模糊角度 θ ,因此只要通过 Radon 变换检测出频谱暗条纹与水平方向的夹角即可到运动模糊方向。 问题二的分析 在多数情况下,导致运动模糊是因为拍摄的设备与场景之间的相对运动造成的例如无人机低空侦察抓拍高速汽车等等。这类的运动模糊都具有速度较大、曝光时间较短的特点因而在拍摄时间内运动看成是匀速直线运动是再合适不过了。 本文依据运动模糊图像和原始图像在频谱上的对应关系。我们可以直接在二维方向进行考虑但 xy 坐标下都会有位移不方便考虑。我们可以结合估计出的运动方向角度对图像进行旋转变换运用微分自相关方法将二维问题降维成一维问题之后应用一维频谱的方法估计出拍摄的物体与实际物体的位移差即模糊尺度。 问题三的分析 问题三在前两问的基础上考虑到利用 Lucy-Richardson 滤波法会和点扩散函数的两个参数有关所以基于问题一和问题二的求解结果得到附件图片 1的模糊尺度和模糊长度利用模糊图像的运动模糊角度和运动模糊长度可以得到相应图片的点扩散函数。同时基于matlab软件设计相应的程序利用Lucy-Richardson 滤波算法对该图片进行图片复原在复原的同时还要考虑迭代次数对于复原图形的影响不同的迭代次数的图片会呈现出怎么的清晰度同时引入一个关于 PSNR 的定义将图像的清晰度与其相关联分析清晰度与迭代次数的相关性也就进而转化为分析迭代次数与 PSNR 的大小之间的关系简化了模型使问题三进而得以解决。 问题四的分析 由于附录图片 1 是有噪音的运动模糊图像在考虑该条件的同时我们采取与问题三不同的解决方法。我们采用小波变换理论与 Lucy-Richardson 算法相结合的算法将图片进行多级分解并将每一级的高低频部分单独分离对于低频的这部分利用 Lucy-Richardson 算法恢复图像对于高频的部分我们进行阀值降噪将噪声分离出去尽最大的可能性降低噪声对 Lucy-Richardson 算法的影响在进行多次分级运算后高低频的不同频域采取不同的复原方法从而在多次分级运算后完成对模糊图片的复原。
模型假设 1、假设摄像机的运动导致了模糊也就是图中的全部景观都以一个相同的速度运动。 2、摄像机的运动是匀速的。 3、天气晴朗照片轮廓清晰。 4、摄像机运作正常数据保存完整。 5、模糊图像像素在可傅里叶变换、radon 范围内。
论文缩略图 全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
部分程序代码(代码和文档not free)
filename C:\Users\hasee\Desktop\图片.jpg;
I imread(filename);
7
8 figure
9 imshow(uint8(I));
10 title(原图);
11
12 %% 生成运动模糊图像
13 PSF fspecial(motion,80, 150);
14 g imfilter(I, PSF, circular);
15 figure
16 imshow(uint8(g));
17 title(运动模糊图);
18
19 %% 对运动模糊图像进行灰度化并进行二维快速傅里叶变换生成其
频谱图
20 gb rgb2gray(g);
21 figure
22 imshow(uint8(gb));
23 PQ paddedsize(size(gb));
24 F fft2(gb, PQ(1), PQ(2));
25 figure
26 imshow(uint8(F));
27
28 %% 作出倒频谱
29 F1 log(1abs(F));
30 F2 abs(F1).^2;
31 F3 real(ifft2(F2));
32 figure
33 imshow(uint8(F3));
34
35
36 %% 将倒频谱压缩居中
37 H log(1abs(F3)); % 将倒频谱动态范围进行压缩
38 Hc fftshift(H); % 将压缩结果进行循环移位使低频成分居中
39 figure
40 imshow(uint8(Hc));
41
42 %% 通过阈值处理边缘检测“canny”算子二值化倒频谱
43 T graythresh(Hc);
44 bwedge(Hc, canny, T);45 figure
46 imshow(bw);
47
48 %% 对倒频谱从 1°到 180°作 radon 变换以求出模糊角度
49 theta 1:180;
50 R radon(bw, theta);
51 figure
52 imshow(R);
53
54 %% 计算出通过倒频谱 radon 变换估计出的模糊角度
55 MAX max(max(R));
56 [m, n] find(R MAX);
57 if 90 n 180
58 beita n - 90;
59 else if 0 n 90
60 beita n 90;
61 else if n [90;90] | n [180;180]
62 beita n(1);
63 end;clc;
Iimread(C:\Users\lenovo\Desktop\图 1.png);
PSF1fspecial(motion,40,100);
MFimfilter(I,PSF1,circular);
gbrgb2gray(MF);
f1im2double(gb);
hfspecial(Sobel);
Jconv2(f1,h,same);
IPabs(fft2(J));
%图像能量谱密度
sfftshift(real(ifft2(IP)));
figure,plot(s);
title(自相关图);
msize(s,1);
Ssum(s);
midfloor(m/2);
len0;
ru0;l0; p 0;q 0;
for imid-10:-1:2if (S(i5)S(i))(S(i2)S(i))(S(i-2)S(i))(S(i5)S(i))(S(i10)S(i))(S(i10)S(i))(S(i1)S(i))(S(i3)S(i))(S(i4)S(i))(S(i-3)S(i))(S(i-
4)S(i))rui; pp1;if p2break;endend
end
for imid10:1:m-2if
(S(i2)S(i))(S(i1)S(i))(S(i3)S(i))(S(i4)S(i))(S(i5)S(i))(
S(i-2)S(i))(S(i-1)S(i))(S(i-3)S(i))(S(i4)S(i))(S(i10)S(i))(S(i-10)S(i))li;q q1;if q 2break;endend
end
len(l-ru)/2jimread(图片.jpg);
figure(1),imshow(j);
title(原图像);
len40;
theta83;
PSF fspecial(motion,len,theta);
lucydeconvlucy(j,PSF,i);i 为迭代次数
figure,imshow(lucy);
title( Lucy richardson 图像复原);
function PSNR psnr(f1, f2)%计算两幅图像的峰值信噪比
k 8; %k 为图像是表示每个像素点所用的二进制位数即位深。
fmax 2.^k - 1;
a fmax.^2;
e im2uint8(f1) - im2uint8(f2);
[m, n] size(e);
b mean(mean(e));
PSNR 10*log10(a/(b*m*n));全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可