2018年认证杯SPSSPRO杯数学建模B题(第二阶段)动态模糊图像全过程文档及程序

2018年认证杯SPSSPRO杯数学建模

动态模糊图像复原

B题 动态模糊图像

原题再现:

  人眼由于存在视觉暂留效应,所以看运动的物体时,看到的每一帧画面都包含了一段时间内 (大约 1/24 秒) 的运动过程,所以这帧画面事实上是模糊的。对电影的截图来说,动态画面的每一帧也都是模糊的,例如图 1 为某部电影截图,展现的是在高速飞行中的拍摄效果,所以俯拍到的路面字迹是模糊的。但是一般来说,电脑游戏的每一帧画面都是以清晰的静态方式绘制出的,所以需要较高的帧率才能感觉到平滑,否则感觉会不够流畅。为了以较低的帧率能够取得较流畅的感受,在计算机视觉技术中,人们开发出了能够模拟动态模糊效果的算法。
在这里插入图片描述
在这里插入图片描述
  第二阶段问题: 在拍摄到的某一帧画面中,往往只有部分场景处于运动状态。例如图 2 是伦敦的公交车经过电话亭时拍摄到的画面,图中的主要景观中,只有车辆是运动的,所以产生了运动模糊的效果。请你设计有效的数学模型,将只有部分景观存在动态模糊的帧恢复出尽可能清晰的画面。在论文中可以使用图 2 ,也可以另行选用动态模糊的图像作为算例。

整体求解过程概述(摘要)

  图像的模糊退化是数字图像处理和视觉系统中存在的一个重要问题,导致这种现象出现的原因有很多。根据产生模糊的原因不同,图像的模糊可以分为很多种,生活中常见的是运动模糊,它的实质大多是由于原目标图像与相机摄像头之间的相对运动造成了运动方向上的平滑滤波,即原始清晰图像与退化函数的卷积过程。在本题目中所给的图像,就是属于运动模糊,处理这种类型的图像,可以分为几个步骤。
  首先,对图像进行预处理,即对图像进行格式转换、加窗处理。相机在视觉范围之内进行成像时,成像范围之外的边缘信息并未被卷积关系牵涉进来,因而在图像复原时由于缺少这些边缘信息而在图像边缘处产生截断现象,即产生边缘振铃效应,为了有效地抑制复原图像的振铃效应,提出了一种基于边缘恢复的抑制运动模糊图像振铃效应的方法——最优窗算法。其可在保留原图像边缘细节,且不增加运算量的前提下,有效抑制图像恢复过程中的振铃效应。然后对预处理后的图像进行傅里叶变换,和灰度均衡,得到图像的频谱,以便进行下一步的图像处理。
  其次,为了得到点扩散函数的计算模型,需要对图像进行二值化和 Radon 变换。图像二值化就是将图像上的像素点的灰度值设置为 0 或 255,就是将整个图像呈现出明显的黑白效果的过程,从而得到图像的轮廓信息,图像的二值化有很多方法,有固定门限二值化、Dither 矩阵二值化、基本自适应门限二值化等,这些方法的运用需要选定一个合适的阈值,阈值可以手动选择也可以自动生成,按图片的需要进行选择。然后对图像进行 Radon 变换,在数学上,Radon 是一种积分变换,这个变换将二维平面函数变换成一个定义在二维空间上的一个线性函数,即相当于得到函数的投影讯号,对图像做 1 到180 的 Radon 变换,得到一个变换矩阵,找出这个矩阵中的最大值,此最大值所对应的列数即为图像的模糊角度。模糊的图像的频谱会出现黑色带条,通过分析频谱图,得到一个量化的反比关系公式和黑带的精确位置,通过微分自适应可以估算出运动模糊图像的模糊长度。
  通过以上的分析,用 MATLAB 和 OPENCV 建立相应的数学模型,处理题目中和自行拍摄的图像,得出模拟结果,并对结果进行分析,指出缺点和不足。

问题分析:

  观察所给图片,图中所示为公交车在路上行驶的画面,其中静止的行人和电话亭,以及商店的招牌都清晰可见,公交车因为运动而造成了在图像中的模糊。分析可知,图像的拍摄与公交车的平面有一定的角度,本题中的相机拍摄时是静止的,只有公交车是运动的,所以在求解时,需要对动态模糊的角度和动态模糊的长度的估算。在处理这种部分模糊的图像时,可以分为以下步骤:
  1.首先需要对部分动态模糊图像进行分离,将图像中模糊部分和非模糊部分分离。
  2.对分离后的模糊图像进行傅里叶变换得出其频谱,从而观察动态模糊的方向。
  3.利用灰度均衡和消除噪声技术,对图像进行预处理,方便后面的处理过程。按照不同的方式分类,噪声分为白噪声、椒盐噪声、冲击噪声和量化噪声等,对噪声的消除有很多种方法,比如均值滤波,自适应维纳滤波,中值滤波等方法都可以很好的消除图片的噪声;
  4.运用二值化和 Radon 变换求出图片的轮廓信息。
  5.综合以上的处理过程,求出模糊图像处理中的两个重要参数:模糊角度和模糊长度。得到模糊图像的点扩散函数。
  6.对模糊图像进行去模糊处理。其方法主要有逆滤波恢复、有约束最小二乘法恢复、维纳滤波恢复和 Richardson-Lucy 滤波恢复等方法。
  在本文中我们基于 MATLAB 和 OPENCV 建立模糊图像的模型,利用改进后的维纳滤波方法处理模糊图像,并取得了较好的效果。因为带最优窗维纳滤波法可以有效的抑制振铃效应,获得高质量的恢复图像。

模型假设:

  1、假设镜头已经准确的对焦
  2、假设所有的噪声因素是白噪声
  3、不考虑其他因素对图片造成的运动模糊
  4、拍照的过程是一个瞬间动作。

论文缩略图:

在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

close all;
clear all; 
%% 读入并显示图像
filename = '图 2.jpg'; 
I = imread(filename);
figure(1), imshow(uint8(I)); title('原图');
%% 对动态模糊图像进行灰度化,并进行二维快速傅里叶变换,生成其频谱图
gb = rgb2gray(I);
figure(4), imshow(uint8(gb)); 
[p,q]=size(gb);
gb=rot90(gb,2);
figure(5), imshow(uint8(gb)); 
PQ = paddedsize(size(gb)); 
F = fft2(gb, PQ(1), PQ(2)); 
figure(5), imshow(uint8(F)); 
%% 作出倒频谱
F1 = log(1+abs(F)); 
F2 = abs(F1).^2; 
F3 = real(ifft2(F2)); 
figure(6), imshow(uint8(F3)); 
%% 将倒频谱压缩,居中
H = log(1+abs(F3));% 将倒频谱动态范围进行压缩
Hc = fftshift(H); % 将压缩结果进行循环移位,使低频成分居中
figure(9), imshow(uint8(Hc)); 
%% 通过阈值处理,边缘检测“canny”算子二值化倒频谱
T = graythresh(Hc); 
bw=edge(Hc, 'canny', T); 
figure(7), imshow(bw);
%% 对倒频谱从 1°到 180°作 radon 变换,以求出模糊角度
theta = 1:180; 
R = radon(bw, theta); 
figure(8), imshow(R); 
%% 计算出通过倒频谱 radon 变换估计出的模糊角度
MAX = max(max(R)); 
[m, n] = find(R == MAX); 
if 90 < n <= 180 beita = n - 90; 
elseif 0 < n < 90 
beita = n + 90; 
elseif n == [90;90] | n == [180;180] 
beita = n(1) 
end
beita
len=5;
nsr=0.005;
psf=fspecial('motion',len, beita);
wnr1=deconvwnr(gb,psf,nsr);
figure(8),imshow(wnr1,[0 255]),title('维纳滤波复原图像(NSR=0.015)');
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/414067.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#:接口中如何将某个值类型的字段传null?

在实际对接第三方接口时&#xff0c;偶尔会有一些字段在某些情况下是不需要传值的。那如何处理呢&#xff1f; 有两种方法&#xff1a; 1、将值类型改为可空类型&#xff1b; 2、定义基类&#xff0c;基类包含所有必须要传的字段&#xff0c;子类则加入偶尔需要传的字段。 下…

玖章算术NineData通过阿里云PolarDB产品生态集成认证

近日&#xff0c;玖章算术旗下NineData 云原生智能数据管理平台 (V1.0&#xff09;正式通过了阿里云PolarDB PostgreSQL版 (V11)产品集成认证测试&#xff0c;并获得阿里云颁发的产品生态集成认证。 测试结果表明&#xff0c;玖章算术旗下NineData数据管理平台 (V1.0&#xff…

基于高斯过程的贝叶斯优化

基于Bayes_opt实现GP优化 bayes-optimization是最早开源的贝叶斯优化库之一&#xff0c;也是为数不多至今依然保留着高斯过程优化的优化库。由于开源较早、代码简单&#xff0c;bayes-opt常常出现在论文、竞赛kernels或网络学习材料当中&#xff0c;因此理解Bayes_opt的代码是…

IMDB电影评论的情感分析——paddle

项目地址&#xff1a;IMDB电影评论的情感分析 - 飞桨AI Studio星河社区 (baidu.com) 1. 实验介绍 1.1 实验目的 理解并掌握循环神经网络的基础知识点&#xff0c;包括模型的时序结构、模型的前向传播、反向传播等掌握长短时记忆网络LSTM和门控循环单元网络GRU的设计原理熟悉如…

【02】mapbox js api加载arcgis切片服务

需求&#xff1a; 第三方的mapbox js api加载arcgis切片服务&#xff0c;同时叠加在mapbox自带底图上 效果图&#xff1a; 形如这种地址去加载&#xff1a; http://zjq2022.gis.com:8080/demo/loadmapbox.html arcgis切片服务参考链接思路&#xff1a;【01】mapbox js api加…

高光谱分类论文解读分享之Grid Network: 基于各向异性视角下特征提取的高光谱影像分类

IEEE GRSL 2023&#xff1a;Grid Network: 基于各向异性视角下特征提取的高光谱影像分类 题目 Grid Network: Feature Extraction in Anisotropic Perspective for Hyperspectral Image Classification 作者 Zhonghao Chen , Student Member, IEEE, Danfeng Hong , Senior …

非常好用的Mac清理工具CleanMyMac X 4.14.7 如何取消您对CleanMyMac X的年度订购

CleanMyMac X 4.14.7是Mac平台上的一款非常著名同时非常好用的Mac清理工具。全方位扫描您的Mac系统&#xff0c;让垃圾无处藏身&#xff0c;您只需要轻松单击2次鼠标左键即可清理数G的垃圾&#xff0c;就这么简单。瞬间提升您Mac速度。 CleanMyMac X 4.14.7下载地址&#xff1a…

2018年认证杯SPSSPRO杯数学建模D题(第二阶段)投篮的最佳出手点全过程文档及程序

2018年认证杯SPSSPRO杯数学建模 D题 投篮的最佳出手点 原题再现&#xff1a; 影响投篮命中率的因素不仅仅有出手角度、球感、出手速度&#xff0c;还有出手点的选择。规范的投篮动作包含两膝微屈、重心落在两脚掌上、下肢蹬地发力、身体随之向前上方伸展、同时抬肘向投篮方向…

低代码自动化测试的实践

何为低代码测试 传统上&#xff0c;功能、 UI、端到端等测试自动化的实现都涉及编写测试脚本&#xff0c;代替测试人员执行重复的手动测试任务。自动化脚本的开发工作通常由 QA 工程师或开发人员完成&#xff0c;这需要编写大量代码。 而低代码甚至无代码的理念也是在自动化测…

基于arcgis js api 4.x开发点聚合效果

一、代码 <html> <head><meta charset"utf-8" /><meta name"viewport"content"initial-scale1,maximum-scale1,user-scalableno" /><title>Build a custom layer view using deck.gl | Sample | ArcGIS API fo…

ElasticSearch扫盲概念篇[ES系列] - 第500篇

历史文章&#xff08;文章累计500&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 E…

零售的数字化转型,利用AWS云服务资源如何操作?

国内市场趋于饱满&#xff0c;各行各业的发展接近瓶颈&#xff0c;就连零售行业都竞争激烈&#xff0c;随处可见的零售小店也预示着需要投入大量的人力&#xff0c;而且由于消费者的行为和预期已经发生了根本性变化&#xff0c;这迫使零售商不得不加速整个价值链的数字化转型&a…