❶ 模糊图像复原方法
图像复原-模糊图像处理解决方案
机器视觉智能检测 2017-06-16
造成图像模糊的原因有很多,且不同原因导致的模糊图像需要不同的方法来进行处理。从技术方面来讲,模糊图像处理方法主要分为三大类,分别是图像增强、图像复原和超分辨率重构。本文将从这三方面切入剖析。
智能化设备管理技术是利用系统管理平台软件的设备管理服务,对所有的监控设备包括摄像机、云台、编码器和系统服务器进行不间断的实时监测,当发现故障时能及时通过各种方式告警,提示维护人员及时处置。一个系统可以按照网络拓扑结构部署多台设备管理服务器,分区域对设备进行实时的巡检,这样可以大大提高系统的维护效率,尽可能做到在设备发生故障时,在不超过10分钟的时间内被监测到并告警。
建设目标
本方案拟应用先进的机器学习和计算机视觉技术,仿真人类的视觉系统,针对某市公共安全图像资源前端摄像头出现的雪花、滚屏、模糊、偏色、画面冻结、增益失衡和云台失控等常见摄像头故障以及恶意遮挡和破坏监控设备的不法行为做出准确判断,并自动记录所有的检测结果,生成报表。以便用户轻松维护市公共安全图像资源系统。
技术路线
将视频故障分成视频信号缺失、视频清晰度异常、视频亮度异常、视频噪声、视频雪花、视频偏色、画面冻结、PTZ运动失控八种类型。其中视频信号缺失、随着“平安城市”的广泛建设,各大城市已经建有大量的视频监控系统,虽然监控系统己经广泛地存在于银行、商场、车站和交通路口等公共场所,但是在公安工作中,由于设备或者其他条件的限制,案情发生后的图像回放都存在图像不清晰,数据不完整的问题,无法为案件的及时侦破提供有效线索。经常出现嫌疑人面部特征不清晰、难以辨认、嫌疑车辆车牌模糊无法辨认等问题,这给公安部门破案、法院的取证都带来了极大的麻烦。随着平安城市的推广、各地各类监控系统建设的进一步推进,此类问题将会越来越凸显。
模糊图像产生的原因
造成图像模糊的原因很多,聚焦不准、光学系统的像差、成像过程中的相对运动、大气湍流效应、低光照、环境随机噪声等都会导致图像模糊。另外图像的编解码、传输过程都可能导致图像的进一步模糊。总体来说,造成图像模糊的主要原因如下:
· 镜头聚焦不当、摄像机故障等;
· 传输太远、视频线老化、环境电磁干扰等;
· 摄像机护罩视窗或镜头受脏污、受遮挡等;
· 大雾、沙尘、雨雪等恶劣环境影响;
· 由视频压缩算法和传输带宽原因导致的模糊;
· 摄像机分辨率低,欠采样成像;
· 光学镜头的极限分辨率和摄像机不匹配导致的模糊;
· 运动目标处于高速运动状态导致的运动模糊等;
……
模糊图像常用解决方案
对于模糊图像处理技术,国内大学和科研机构在多年以前就在研究这些理论和应用,相关文献也发布了不少,已经取得了一些很好的应用。美国 Cognitech软件是相当成熟的一套模糊图像恢复应用软件,在美国FBI及其他执法机构中已有多年实际应用,其恢复出的图像可以直接当作法庭证据使用,可见模糊图像处理技术已经取得了相当的实际应用。
前面提到,造成图像模糊的原因有很多,要取得比较好的处理效果,不同原因导致的模糊往往需要不同的处理方法。从技术方面来讲,模糊图像处理方法主要分为三大类,分别是图像增强、图像复原和超分辨率重构。
图像增强
很多传统图像算法都可以减轻图像的模糊程度,比如图像滤波、几何变换、对比度拉伸、直方图均衡、空间域锐化、亮度均匀化、形态学、颜色处理等。就单个来讲,这些算法都比较成熟,相对简单。但是对于一个具体的模糊图像,往往需要上面的一种或者多种算法组合,配合不同的参数才能达到理想的效果。这些算法和参数的组合进一步发展成为具体的增强算法,比如“图像去雾”算法、“图像去噪”算法、“图像锐化”算法、“图像暗细节增强”算法等等。这些算法都不同程度提高了图像清晰度,很大程度改善了图像质量。
综合使用形态学、图像滤波和颜色处理等算法可以实现图像去雾的算法,图1是一个去雾算法的实际使用效果,类似的图像增强算法还有很多,不再一一列举。图像复原
图像复原与图像增强技术一样,也是一种改善图像质量的技术。图像复原是根据图像退化的先验知识建立一个退化模型,然后以此模型为基础,采用各种逆退化处理方法逐步进行恢复,从而达到改善图像质量的目的。
图像复原和图像增强是有区别的,两者的目的都是为了改善图像的质量。但图像增强不考虑图像是如何退化的,只有通过试探各种技术来增强图像的视觉效果,而图像复原就完全不同,需要知道图像退化过程的先验知识,据此找出一种相应的逆过程方法,从而得到复原的清晰图像。图像复原主要取决于对图像退化过程的先验知识所掌握的精确程度。
对由于离焦、运动、大气湍流等原因引起的图像模糊,图像复原的方法效果较好,常用的算法包括维纳滤波算法、小波算法、基于训练的方法等。图3是使用维纳滤波解决运动模糊图像的例子,取得了很好的复原效果。在知道退化模型的情况下,相对图像增强来说,图像复原可以取得更好的效果。图像超分辨率重构
现有的监控系统主要目标为宏观场景的监视,一个摄像机,覆盖一个很大的范围,导致画面中目标太小,人眼很难直接辨认。这类由于欠采样导致的模糊占很大比例,对于由欠采样导致的模糊需要使用超分辨率重构的方法。
超分辨率复原是通过信号处理的方法,在提高图像的分辨率的同时改善采集图像质量。其核心思想是通过对成像系统截止频率之外的信号高频成分估计来提高图像的分辨率。超分辨率复原技术最初只对单幅图像进行处理,这种方法由于可利用的信息只有单幅图像,图像复原效果有着固有的局限。序列图像的超分辨率复原技术旨在采用信号处理方法通过对序列低分辨率退化图像的处理来获得一幅或者多幅高分辨率复原图像。由于序列图像复原可利用帧间的额外信息,比单幅复原效果更好,是当前的研究热点。
序列图像的超分辨率复原主要分为频域法和空域法两大类,频域方法的优点是:理论简单,运算复杂度低,缺点是:只局限于全局平移运动和线性空间不变降质模型,包含空域先验知识的能力有限。空域方法所采用的观测模型涉及全局和局部运动、空间可变模糊点扩散函数、非理想亚采样等,而且具有很强的包含空域先验约束的能力。常用的空域法有非均匀插值法、迭代反投影方法(IBP)、凸集投影法(POCS)、最大后验估计法(MAP)、最大似然估计法 (ML)、滤波器法等,其中,MAP和POCS二方法研究较多,发展空间很大。对于具体的算法,不是本文的重点,这里不做详细介绍。图五是一个使用多帧低分辨率图像超分辨率重构的例子。
模糊图像处理技术的关键和不足
虽然很多模糊图像的处理方法在实际应用中取得了很好的效果,但是当前仍然有一些因素制约着模糊图像处理的进一步发展,主要如下。
算法的高度针对性
绝大部分的模糊图像处理算法只适用于特定图像,而算法本身无法智能决定某个算法模块的开启还是关闭。举例来说,对于有雾的图像,“去雾算法”可以取得很好的处理效果,但是作用于正常图像,反而导致图像效果下降,“去雾算法”模块的打开或者关闭需要人工介入。
算法参数复杂性
模糊图像处理里面所有的算法都会包含大量的参数,这些参数的选择需要和实际的图像表现相结合,直接决定最终的处理效果。就目前的算法,还没有办法智能地选择哪些是最优的参数。
算法流程的经验性
由于实际图像非常复杂,需要处理多种情况,这就需要一个算法处理流程,对于一个具体的模糊视频,采用什么样的处理流程很难做到自动选择,需要人工选择一个合适的方法,只能靠人的经验。
结语
由于环境、线路、镜头、摄像机等影响,监控系统建成并运营一段时间后,都会出现一部分的视频模糊不清的问题。
总体来说,虽然模糊图像处理算法已经取得了非常广泛的应用,但是图像算法毕竟有局限性,不能将所有问题都寄希望于图像算法,对于不同种类的模糊问题,要区别对待。对于由镜头离焦、灰尘遮挡、线路老化、摄像机故障等造成的模糊或者图像质量下降,在视频诊断系统的帮助下,一定要及时维修,从源头上解决问题。对于低光照等优先选择日夜两用型高感光度摄像机,对于雨雾、运动和欠采样等造成的图像质量下降,可以借助于“视频增强服务器”包含的各种模糊图像处理算法来提升图像质量。喜欢此内容的人还喜欢
17个教师常用网站推荐给你,再也不用到处找资源了
17个教师常用网站推荐给你,再也不用到处找资源了 ...
高校教师服务工作室
不喜欢
不看的原因
确定
内容质量低 不看此公众号
什么是水磨石?被设计师玩出新高度
什么是水磨石?被设计师玩出新高度 ...
联盟设计库
不喜欢
不看的原因
确定
内容质量低 不看此公众号
❷ matlab图像复原维纳滤波,最小二乘方,L-R,盲去卷积图像复原比较的程序代码
clc;clear all;
%读原始图像%
format long
Blurred=imread('fig525(b).bmp');
subplot(1,2,1);imshow( Blurred);title('原图像');
%自编函数进行维纳滤波%
k=0.0025;
[m,n]=size(Blurred);
spectrum=zeros(m,n);
H=zeros(m,n);
for u=1:m
for v=1:n
H(u,v)=exp(-k*((u-m/2)^2+(v-n/2)^2)^(5/6));
spectrum(u,v)=H(u,v)^2;
end
end
f=double(Blurred);
F1=fftshift(fft2(f));
HW=H./(spectrum+0.001);
restore1=HW.*F1;
restored=real(ifft2(ifftshift(restore1)));
subplot(1,2,2);imshow(restored,[]);title('自编函数进行维纳滤波');
%调用matlab提供的维纳滤波函数%
figure;
hw1=real(ifft2(ifftshift(H)));%转化到空域上来
result1=deconvwnr(Blurred,hw1,0.001);
result2=ifftshift(result1);%再去图像进行1,3象限对调,2与4象限对调
subplot(1,2,1);imshow(result2,[]);title('调用维纳滤波函数');
❸ Lucy-Richardson滤波,如何用MATLAB实现啊
《MATLAB图像滤波去噪分析及其应用》
11.1 Lee滤波
11.1.1 算法原理
11.1.2 算法仿真与MATLAB实现
11.2 Gabor滤波
11.2.1 算法原理
11.2.2 算法仿真与MATLAB实现
11.3 Wiener滤波
11.3.1 算法原理
11.3.2 算法仿真与MATLAB实现
11.4 Kuwahara滤波
11.4.1 算法原理
11.4.2 算法仿真与MATLAB实现
11.5 Beltrami流滤波
11.5.1 算法原理
11.5.2 算法仿真与MATLAB实现
11.6 Lucy-Richardson滤波
11.6.1 算法原理
11.6.2 算法仿真与MATLAB实现
11.7 Non-Local Means滤波
11.7.1 算法原理
11.7.2 算法仿真与MATLAB实现
❹ 求用matlab进行图像去模糊的代码
二乘方滤波算法、
❺ 如何用matlab编程将运动模糊图像用维纳滤波法复原
PSF
=
fspecial('motion',len,ang);
%建立扩散子,其中len是模糊长度,ang是模糊角度
img2=deconvlucy(img,PSF,n);
%用lucy-richardson方法复原图像,其中img是运动模糊图像,PSF是扩散子,n是迭代次数,img2是复原图像
❻ 基于matlab运动模糊图像处理的源代码
等一会的,我来帮你
华东师范大学???
tuxianghuanyuan('3.jpg', 80, 8, 0.02);
function tuxianghuanyuan(im, a, b, NSPR)
i = imread(im);
f = im2double(i);
PSF = fspecial('motion', a, b);
frest1 = deconvwnr(f, PSF, NSPR);
subplot(221),imshow(f); title('原图像');
subplot(222),imshow(frest1); title('维纳滤波处理后图像');
end
❼ 如何用matlab编程将运动模糊图像用维纳滤波法复原
PSF = fspecial('motion',len,ang); %建立扩散子,其中len是模糊长度,ang是模糊角度 img2=deconvlucy(img,PSF,n); %用lucy-richardson方法复原图像,其中img是运动模糊图像,PSF是扩散子,n是迭代次数,img2是复原图像
❽ MATLAB图像滤波去噪分析及其应用
第11章 特殊滤波器设计与MATLAB实现
11.1 Lee滤波
11.1.1 算法原理
11.1.2 算法仿真与MATLAB实现
11.2 Gabor滤波
11.2.1 算法原理
11.2.2 算法仿真与MATLAB实现
11.3 Wiener滤波
11.3.1 算法原理
11.3.2 算法仿真与MATLAB实现
11.4 Kuwahara滤波
11.4.1 算法原理
11.4.2 算法仿真与MATLAB实现
11.5 Beltrami流滤波
11.5.1 算法原理
11.5.2 算法仿真与MATLAB实现
11.6 Lucy-Richardson滤波
11.6.1 算法原理
11.6.2 算法仿真与MATLAB实现
11.7 Non-Local Means滤波
11.7.1 算法原理
11.7.2 算法仿真与MATLAB实现
北航的书,《MATLAB图像滤波去噪》,余胜威着
❾ MATLAB数字图像处理的目录
前言
第1章图像处理与MATLAB2007a简介
1.1概述
1.1.1MATLAB概述
1.1.2数字图像处理技术的内容与发展现状
1.2相关学科和领域
1.2.1数字信号处理学
1.2.2计算机图形学
1.2.3计算机视觉
1.3MATLAB2007a的新功能
1.3.1MATLAB2007a的新特性
1.3.2Simulink6的新特性
1.4MATLAB2007a图像处理
1.4.1MATLAB图像处理应用举例
1.4.2图像处理基本操作
1.4.3图像处理的高级应用
第2章图像的编码和解码
2.1概述
2.1.1图像压缩编码的必要性
2.1.2图像压缩编码的可能性
2.1.3图像压缩编码的评价准则
2.2统计编码
2.2.1信息熵
2.2.2ShannonFano编码
2.2.3哈夫曼编码
2.2.4算术编码
2.2.5行程编码
2.3预测编码
2.4图像的变换编码
2.5数据压缩编码的国际标准
2.5.1JPEG标准
2.5.2MPEG视频编码压缩标准
2.6小结
习题
第3章图像复原
3.1图像复原的基本概念
3.2图像退化模型
3.2.1连续的退化模型
3.2.2离散的退化模型
3.3非约束复原
3.3.1非约束复原的代数方法
3.3.2逆滤波复原法
3.4有约束复原
3.4.1最小二乘类约束复原
3.4.2维纳滤波
3.4.3LucyRichardson滤波复原
3.4.4盲解卷积复原
3.5几种其他图像复原技术
3.5.1几何畸变校正
3.5.2盲目图像复原
3.6运动模糊图像的复原
3.6.1模糊模型
3.6.2水平匀速直线运动引起模糊的复原
3.7小结
习题
第4章图像处理的相关操作
4.1图像类型转换
4.2图像数据结构
4.2.1图像模式
4.2.2颜色空间
4.2.3数据存储的数据结构
4.3线性系统和移不变系统
4.3.1线性系统
4.3.2移不变系统
4.4调用信号分析
4.4.1调谐信号
4.4.2对调谐信号的响应
4.4.3系统传递函数
4.5数字图像的显示特性
4.5.1图像的屏幕显示
4.5.2显示特性
4.5.3数字图像的暂时显示
4.5.4数字图像的永久显示
4.6二维系统及矩阵运算
4.6.1二维线性系统
4.6.2二维位置不变线性系统
4.6.3二维系统的梯度算子
4.6.4常用矩阵运算
4.7图像的块操作
4.7.1边缘操作
4.7_2显示块操作
4.8特定区域处理
4.8.1特定区域
4.8.2特定区域滤波
4.8.3特定区域填充
4.9图像质量评价
4.9.1图像质量的客观评价
4.9.2图像质量的主观评价
习题
第5章图像频域变换
5.1傅里叶变换
5.1.1傅里叶变换的基本概念
5.1.2离散傅里叶变换
5.1.3傅里叶变换的应用
5.2离散余弦变换
5.2.1一维离散余弦变换
5.2.2二维离散余弦变换
5.2.3快速离散余弦变换
5.2.4离散余弦应用
5.3离散沃尔什-哈达玛变换(DWT-DHT)
5.3.1一维离散沃尔什变换
5.3.2二维离散沃尔什变换
5.3.3一维离散哈达玛变换
5.3.4二维离散哈达玛变换
5.3.5离散沃尔什-哈达玛变换的应用举例
5.4K-L变换
5.4.1K-L变换的定义
5.4.2K-L变换的性质
5.5Radon变换
5.5.1Radon变换原理
5.5.2用Radon变换检测直线
5.5.3逆Radon变换及其应用
5.6小波变换
5.6.1传统变换方法的局限性
5.6.2小波变换的基本知识
5.6.3小波变换在图像处理方面的应用及实现
5.7扇形光束投影
5.7.1投影变换的基本概念
5.7.2投影变换函数的应用
习题
第6章图像处理中的代数运算及几何变换
6.1基本运算类型
6.2点运算
6.2.1点运算的种类
6.2.2点运算与直方图
6.2.3点运算的应用
6.3图像的代数运算
6.3.1图像代数的异常处理
6.3.2各种代数运算
6.4几何变换基础
6.4.1齐次坐标
6.4.2齐次坐标的一般表现形式及意义
6.4.3二维图像几何变换的矩阵
6.5各种几何变换
6.5.1图像平移变换
6.5.2图像比例变换
6.5.3图像旋转变换
6.5.4图像镜像变换
6.5.5图像剪切变换
6.5.6图像复合变换
6.5.7透视投影
6.5.8平行投影
6.6灰度级插值
6.6.1最近邻插值法
6.6.2双线性插值法
6.6.3三次内插值法
6.6.4灰度级插值法的MATLAB实现
习题
第7章图像增强
7.1灰度变换增强
7.1.1像素及其统计特性
7.1.2直接灰度变换
7.1.3直方图灰度变换
7.1.4直方图均衡化
7.1.5对比度自适应直方图均衡化
7.1.6去相关拉伸
7.2空间域滤波
7.2.1基本原理
7.2.2平滑滤波
7.2_3锐化滤波
7.3频域滤波增强
7.3.1低通滤波
7.3.2高通滤波
7.3.3带通和带阻滤波器
7.3.4频域滤波的MATLAB实现
7.4同态增晰
7.5彩色图像增强
7.5.1伪彩色增强
7.5.2假彩色增强
7.5.3真彩色增强
习题
第8章图像分割与边缘检测
8.1灰度阈值法
8.1.1图像分割基本原理
8.1.2灰度阈值法分割
8.2边缘检测
8.2.1微分算子
8.2.2拉普拉斯高斯算子(LOG)
8.2.3Canny算子
8.3区域分割
8.3.1区域生长
8.3.2分裂合并
8.3.3水域分割
8.4边界跟踪与直线检查
8.4.1基本原理
8.4.2直线提取算法
8.5基于图像分割的图像分析
8.5.1通过图像分割检测细胞
8.5.2图像粒度测定
8.6彩色图像分割
8.6.1色彩空间
8.6.2彩色分割方法
习题
第9章小波分析及其在MATLAB中的应用
9.1小波变换基础
9.1.1连续小波变换
9.1.2离散小波
9.1.3二进小波变换
9.1.4MATLAB中的小波函数工具箱
9.2小波分析在图像增强中的应用
9.3基于小波的图像降噪和压缩
9.3.1小波的图像压缩技术
9.3.2小波的图像降噪技术
9.4小波的融合技术
9.5小波包在图像边缘检测中的应用
9.6小波包与图像消噪
9.7小结
第10章图像特征的描述
10.1灰度描述
10.1.1幅度特征
10.1.2直方图特征
10.1.3变换系数的特征
10.2纹理分析
10.2.1纹理特征
10.2.2统计法
10.2.3自相关函数法
10.2.4频谱法
10.2.5纹理的句法结构分析法
10.2.6联合概率矩阵法
10.3形状描述
10.3.1链码
10.3.2傅里叶描述子
10.3.3形状特征的描述
10.4区域描述
10.4.1几何特征
10.4.2不变矩
10.5形态分析
10.6区域、对象及特性度量
10.6.1连通区域标记
10.6.2选择对象
10.6.3图像面积
10.6.4欧拉数
10.6.5基于分水岭的图像分割示例
习题
第11章MATLAB图像处理的应用
11.1MATLAB在遥感图像处理中的应用
11.1.1遥感简介
11.1.2利用MATLAB对遥感图像进行直方图匹配
11.1.3对遥感图像进行滤波增强
11.1.4对遥感图像进行融合
11.2MATLAB在医学图像处理中的应用
11.2.1医学成像简介
11.2.2医学图像的灰度变换
11.2.3基于高频强调滤波和直方图均衡化的医学图像增强
习题
附录
附录AMATLAB6.X图像处理工具箱函数
附录BMATLAB7.0图像处理工具箱新增函数
参考文献
……
❿ 动态模糊的去除效果
去动态模糊(motion deblurring)取决于点扩散函数(Point Spread Function)的确定。 模糊是与邻近像素平均产生的结果,因此想恢复必须有足够的邻近像素的资讯。
图6:相对于车辆的快速移动相机快门速度较慢,街道上的车流留下亮眼的光线。 1 天真法-快速傅立叶转换去模糊法(FFT Deblurring)
快速傅立叶去模糊法是非常简单的方法之一: 频域的去模糊运算可表示为模糊影像的傅立叶转换和点扩散函数的傅立叶转换的乘积。
b(x) = psf(x) * o(x) + n(x)
B(k) = PSF(k)O(k) + N(k)
因此去模糊可以简单地用点扩散函数傅立叶转换的倒数MTF(k)来表示。
B / MTF = O + N / MTF 当符合下列两条件时有很好的效果:
a)模糊影像没有被噪声。
b)MTF没有零点(zeros)。
但实际上不管是否符合上述2条件,噪声仍会被放大(看N/MTF那项)。
2 非递回法-Wiener滤波器去模糊法(Wiener Filter Deblurring)
均方误差(MSE)最佳化线性去模糊其他“非递回式”方法,例如:调整滤波器(Regularized filter),引入回复图像的限制条件。 Wiener去模糊法与“非递回式”方法有关。此方法可以解释为:借着找出与原图有最小均方误差的图片为重建图片。 Wiener滤波器的想法大致上用线性化方式解决了一般非线性最小化问题。对于噪声为纯高斯噪声时,最小化问题是线性的。因此Wiener滤波器以均方误差为此特例提供了最佳化解法。然而实际图片大部分却是Poissom噪声,因此下一个方法被提出了。
图7:夜间搭上在圣荷西国际机场上方刚起飞的飞机。城市灯光形成同心线条。
3 递回法- Lucy-Richardson去模糊法(Lucy-Richardson Deblurring)
Lucy-Richardson、Regularized 和 Wiener去模糊法都是针对反折积运算下,因噪声影响和混沌蝴蝶效应所造成影像错误,不同的是,Lucy-Richardson去模糊法是递回式的。Lucy-Richardson利用条件机率的贝氏定理反复运算,并将去模糊处理前后的影像作比较,消除噪声的部分,得到增强的结果。
两个关键的理解带出了最后的公式:
1)贝式公式中的机率可以用像素的亮度取代。
以下解释可以更明白:光子在一订时间内碰到传感像素的机率和像素的亮度成正比。
2)条件机率矩阵:p(bk | oj)是点扩散函数psfki。