基于matlab运动模糊图像处理

基于 MATLAB 的运动模糊图像处 理 提醒: 我参考了文献里的书目和网上的一些代码而完成的,所以误差会比较大,目前 对于从网上下载的模糊图片的处理效果很不好, 这是我第一次上传自己完成 的实验的文档,希望能帮到一些人吧。 研究目的 在交通系统、刑事取证中图像的关键信息至关重要,但是在交通、公安、银行、 医学、工业监视、军事侦察和日常生活中常常由于摄像设备的光学系统的失真、 调焦不准或相对运动等造成图像的模糊,使得信息的提取变得困难。但是相对 于散焦模糊,运动模糊图像的复原在日常生活中更为普遍,比如高速运动的违 规车辆的车牌辨识,快速运动的人群中识别出嫌疑人、公安刑事影像资料中提 取证明或进行技术鉴定等等,这些日常生活中的重要应用都需要通过运动模糊 图像复原技术来尽可能地去除失真,恢复图像的原来面目。因此对于运动模糊 图像的复原技术研究更具有重要的现实意义。 图像复原原理 本文探讨了在无噪声的情况下任意方向的匀速直线运动模糊图像的复原问题, 并在此基础上讨论了复原过程中对点扩散函数 (PSF)的参数估计从而依据自动 鉴别出的模糊方向和长度构造出最为近似的点扩散函数,构造相应的复原模型, 实现运动模糊图像的复原;在模糊图像自动复原的基础上,根据恢复效果图的 纹理特征和自动鉴别出的模糊长度和角度,人工调整模糊方向和长度参数,使 得复原效果达到最佳。 实验过程 模糊方向的估计: 对图 1(a)所示的原始图像‘车牌’图像做方向 = ,长度  30  L=20像素的匀速直线运动模糊,得到退化图像如图 1(b) 1(a) 1(b) j=imread( 车牌 1.jpg ); figure(1),imshow(j); title( 原图像 ); len=20; theta=30; psf=fspecial( motion ,len,theta); j1=imfilter(j,psf, circular , conv ); figure,imshow(j1); title( PSF 模糊图像 ); 图 1(c)和 1(d)分别为原图像和模糊图像的二次傅里叶变化 1(c) 1(d) J=rgb2gray(j); K=fft2(J);%傅里叶变换 M=fftshift(K);%直流分量移到频谱中心 N=abs(M);%计算频谱幅值 P=(N-min(min(N)))… /(max(max(N))-min(min(N)))*225;%归一化 figure,imshow(P); title( 傅里叶变换频谱 ); J1=rgb2gray(j1); K1=fft2(J1);%傅里叶变换 M1=fftshift(K1);%直流分量移到频谱中心 N1=abs(M1);%计算频谱幅值 P1=(N1-min(min(N1)))/(max(max(N1))… -min(min(N1)))*225;%归一化 figure,imshow(P1);title( 傅里叶变换频谱 ); 利用图 1(d)粗略的计算模糊的方向,可以通过 matlab 自带的画线工具, 选取如下图 1(e)所示的三角形,计算 a 与 c 之间的夹角Matlab 命令窗口输:g 选中三个顶角后回车,可得数据 ans =136.6009 146.3977137.4205 166.8895145.2074 166.8895 粗略取值后,经 Matlab 计算得:atan(20/9)*180/pi ans = 65.7723 则运动方向为 90- ans≈25(误差为 5) 。 1(e) 模糊长度的估计 运动模糊图像中,在运动方向上大多数模糊图像的背景像素点具有很强 的相关性,即沿着运动模糊的轨迹,背景像素点的灰度值逐渐变化或者 不变。通过文献的学习,先对模糊图像进行一阶微分,然后进行自相关 运算,可得一条鉴别曲线,曲线上会出现对称的相关峰,峰值为负,两 相关峰之间的距离等于运动模糊长度。 把模糊图像转换为灰度图像,采用 Sobel 算子对其进行一阶微分运算, Sobel 算子1 0 1 obel= 2 0 2 1 0 1 S             其自相关曲线如图 2(a)所示。利用 matlab 的 Data Cursor可以测得两 负峰之间的距离为 20 个像素点,此为运动模 糊的长度,与理论值吻 合(比较精确) 。由于 长度的测量计较精确, 可以根据长度对运动模 糊方向进行不同的取 值,达到最好效果。 f1=rgb2gray(j1); f1=im2double(f1); h = fspecial( Sobel ); %Sobel算子 J = conv2(f1,h, same ); %Sobel算子微分 IP=abs(fft2(J)); %图像能量谱密度 S=fftshift(real(ifft2(IP))); figure,plot(S); title( 自相关图 ); %图像自相关函数图像的复原 然后我们按本文中鉴别出的运动模糊图像的运动长度和运动角度后, 构造出相应的匀速直线运动PSF,并对其进行图像复原,得到的效果 如下图3所示。len=20; theta=25; psf=fspecial( motion ,len,theta); wnr1=deconvwnr(j1,psf,0); subplot(221),imshow(wnr1); title( 维纳滤波处理后图像 ); np=0.002*prod(size(j)); er=deconvreg(j1,psf,np/3.0); subplot(222),imshow(er); title( 最小二乘方复原 )lucy=deconvlucy(j1,psf); subplot(223),imshow(lucy); title( Lucy richardson 图像复原 ); NITPSF=ones(size(psf)); [mang,psf]=deconvblind(j1,INITPSF,40); subplot(224),imshow(mang); title( 盲去卷积复原 ); 由上图可知经过 Lucy richardson复原的图像效果最好,可多次修改运动模糊方向, 再进行 Lucy richardson复原。下图 4为运动模糊方向为 30的效果。图像中可以比较清楚的看出此图中汽车的牌 子‘本田’以及车牌‘闽 C 6R972’ 。 参考文献:1.红外技术 第 32卷 第 5期 2010年 5月 《毫米波辐射图像的运动模糊 参数辨识》 胡泰洋、肖泽龙、许建中2.《数字图像处理及 MATLAB 实现——学习与实验指导》

基于matlab的运动模糊图像处理,基于matlab运动模糊图像处理相关推荐

  1. 基于MATLAB的动态前景目标特征提取与运动跟踪

    基于MATLAB的动态前景目标特征提取与运动跟踪 摘 要:动态前景目标识别和提取是计算机视觉领域的重要内容.对动态图像进行前景目标提取与运动跟踪,通过改进高斯混合背景模型,提出一种基于自适应特征加权的 ...

  2. 【基于MATLAB的数字图像处理】大作业·综合图像处理平台

    系列文章目录 ·[基于MATLAB的数字图像处理]第一章·绪论 ·[基于MATLAB的数字图像处理]第二章·视觉系统与图像处理系统 ·[基于MATLAB的数字图像处理]第三章·基本图像变换 ·[基于M ...

  3. matlab中提取裂缝图像,基于Matlab图像处理的水泥路面裂缝检测研究

    路面裂缝检测是计算公路状况指数的重要依据[1],传统的检测方法主要是靠人工检测,测量精度差.检测效率低.同时检测人员会有安全隐患[2-3].现在多采自动检测的方法对路面裂缝的损害进行检测,其中使用数字 ...

  4. 基于直方图均衡化的水下激光图像处理(MATLAB仿真)

    原文:http://blog.csdn.net/sunlinyi66/article/details/39215447 基于直方图均衡化的水下图像增强(MATLAB仿真) 可以对RGB三个通道进行直方 ...

  5. 基于小波变换的数字图像处理(MATLAB源代码)

    基于小波变换的数字图像处理(MATLAB源代码) clear all; close all; clc; M=256;%原图像长度 N=64; %水印长度 [filename1,pathname]=ui ...

  6. matlab梯形模糊数,基于梯形模糊数的OWA方法与matlab应用

    基于梯形模糊数的OWA 方法与matlab 应用 一.梯形模糊数定义 1.定义记(,,,),=-∞<<<< c a b d c a b d ,称为%A 为梯形模糊数,当0> ...

  7. 基于Matlab的交通限速标志的识别系统 数字图像处理大作业

    本大作业为基于Matlab的交通限速标志的识别系统, 考虑到在科技发展的今天,智能汽车行业发展迅速,所以交通限速标志的快速检测及识别对车辆的安全行驶极为重要,因此本系统可以检测到图中的交通限速标志并对 ...

  8. Matlab之在城市环境中基于动态占用网格图的的运动规划仿真(附源码)

    目录 一.介绍 二.设置场景和基于网格的跟踪器 三.设置运动规划器 四.结果 五.总结 六.程序 此示例演示如何使用 Frenet 参考路径在城市驾驶场景中执行动态重新规划.在此示例中,将使用本地环境 ...

  9. 【机械仿真】基于matlab GUI曲柄摇杆机构运动仿真【含Matlab源码 1608期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[机械仿真]基于matlab GUI曲柄摇杆机构运动仿真[含Matlab源码 1608期] 点击上面蓝色字体,直接付费下载,即可. 获取代码 ...

最新文章

  1. 7.0系统设备xposed框架激活经验
  2. 浅谈算法和数据结构: 五 优先级队列与堆排序
  3. 201521123022 《Java程序设计》 第十三周学习总结
  4. DES和AES加密:指定键的大小对于此算法无效
  5. Visual C++ 中的ODBC编程
  6. Android Jetpack 之 ViewModel
  7. EJB系列 - 会话Bean基础知识
  8. Java去除富文本编辑器中的格式标签
  9. cnc计算机控制,CNC控制器
  10. 记账小程序php开发_微信小程序(应用号)开发实战记账软件实例
  11. 什么是盒子模型,盒子模型,标准盒模型,怪异盒模型,两种盒模型的区别,box-sizing属性
  12. 塑料壳上下扣合的卡扣设计_塑胶件结构设计之止口与扣位的设计
  13. 怎样将一个Word表格拆分为两个
  14. [iOS]转让APP
  15. 电脑内存不够?磁盘、硬盘
  16. Android--BroadcastReceiver
  17. 中望CAD教程:如何将PDF转化为DWG格式文件
  18. 从优秀到卓越---刺猬理论
  19. Netty处理TCP半包和粘包问题
  20. 华为hcie认证-QOS 流量整形双速率的概念

热门文章

  1. 【Matplotlib】(二)图例legend
  2. frame buffer驱动
  3. Who do you think is the best coder, and why?
  4. IDEA怎么查看现在的项目使用的JDK版本? 2016年4月19日22:51
  5. SAP 标准成本、计划成本、目标成本、实际成本解析
  6. The Fewest Coins POJ - 3260
  7. 人生进度条百分之20_1分钟get技能:缺了“进度条”,你注定和80%的失败者一样实现不了人生目标...
  8. 金针探底技术分析(下)
  9. H5获取用户code,换openID
  10. Splunk Filed Alias 字段改名