%%%%%  motion blur

clc;

clear all;

close all;

Image=imread('4.jpg');

Image=double(Image);

theta=pi/4;

len=20;

row=floor(len*sin(theta))+1;

col=floor(len*cos(theta))+1;

motion_f1(1:row,1:col)=0;

K=tan(theta);

center_x=col/2;

center_y=row/2;



for i=1:row

    for j=1:col

        x=j-center_x;

        y=center_y-i;

        Dis=abs(K*x-y)/sqrt(K*K+1);

        motion_f1(i,j)=max(1-Dis,0);

    end

end



motion_f1=motion_f1/sum(motion_f1(:));

Image1=imfilter(Image,motion_f1,'replicate','conv');

imshow(Image1/255);



motion_filter=fspecial('motion',20,0);

Image2=imfilter(Image,motion_filter,'replicate','conv');

figure,

imshow(Image2/255);

原图

效果图

效果图

版权声明:本文博客原创文章,博客,未经同意,不得转载。

PS 过滤器——运动模糊的更多相关文章

  1. PS 滤镜——运动模糊

    %%%%%  motion blur clc; clear all; close all; Image=imread('4.jpg'); Image=double(Image); theta=pi/4 ...

  2. 从单幅图像高质量去除运动模糊——读JiaYaJia同名英文论文总结

    原始论文在这里 http://www.cse.cuhk.edu.hk/leojia/projects/motion_deblurring/ 一.概述 论文根据以下的基本模糊图像模型建立 其中I是我们观 ...

  3. Java 运动模糊

    Java 运动模糊代码 想用Java 写个运动模糊的效果,无奈本人水平有限,国内也没找到资源,于是Google到了一个文档,特地分享出来! 本代码源自 http://www.jhlabs.com/ip ...

  4. Unity shader学习之屏幕后期处理效果之运动模糊

    运动模糊,代码如下: using UnityEngine; public class MotionBlurRenderer : PostEffectRenderer { [Range(0.1f, 0. ...

  5. 维纳滤波和编码曝光PSF去除运动模糊【matlab】

    编码曝光知识 - ostartech - 博客园 https://www.cnblogs.com/wxl845235800/p/8276362.html %%%%%%%%%%%%%%%%%%%%%%% ...

  6. 图像滤镜艺术--PS平均(滤镜-模糊-平均)效果

    原文:图像滤镜艺术--PS平均(滤镜-模糊-平均)效果 本文介绍PS中滤镜-模糊-平均模糊的效果实现: 这个效果很简单,原理如下: 1,统计全图像素的R,G,B值得和sumR,sumG,sumB; 2 ...

  7. Win8 Metro(C#)数字图像处理--2.50图像运动模糊

    原文:Win8 Metro(C#)数字图像处理--2.50图像运动模糊  [函数名称] 图像运动模糊算法    MotionblurProcess(WriteableBitmap src,int  ...

  8. OpenCV3入门(十三)图像运动模糊

    1.原理 运动模糊产生: 由于相机传感器或物体相对运动, 按快门瞬间造成图像产生运动模糊. 在用摄像机获取景物图像时,如果在相机曝光期间景物和摄像机之间存在相对运动,例如用照相机拍摄快速运动的物体,或 ...

  9. Python: PS 图像特效 — 模糊玻璃

    今天介绍一种基于高斯滤波和邻域随机采样,生成一种毛玻璃的图像特效,简单来说,就是先对图像做高斯滤波模糊,然后对模糊后的图像,通过对邻域的随机采样来赋予当前的像素点,这样,生成的图像有有一定的随机扰动和 ...

随机推荐

  1. HDU5086Revenge of Segment Tree(数论)

    HDU5086Revenge of Segment Tree(数论) pid=5086" target="_blank" style="">题目 ...

  2. Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: 'L

    1.错误叙述性说明 [ERROR:]2015-06-08 09:49:42,523 [异常拦截] org.hibernate.exception.DataException: error execut ...

  3. WPF之Binding深入探讨--Darren

    1,Data Binding在WPF中的地位 程序的本质是数据+算法.数据会在存储.逻辑和界面三层之间流通,所以站在数据的角度上来看,这三层都很重要.但算法在3层中的分布是不均匀的,对于一个3层结构的 ...

  4. SQL注入问题

    斌斌 (给我写信) 原创博文(http://blog.csdn.net/binbinxyz),转载请注明出处! 背景:对于ibaits参数引用可以使用#和$两种写法,其中#写法会采用预编译方式,将转义 ...

  5. android AIDL RPC 机制

    AIDL 这是接口文件的叙述性说明,为了实现android 上述平台RPC ,aapt 在编译时自己主动按照该规则IPC 的接口和对象,作为一个用户只需要 实现在服务侧的界面 2 在clientbin ...

  6. Codeforces554D:Kyoya and Permutation

    Let's define the permutation of length n as an array p = [p1, p2, ..., pn] consisting of n distinct ...

  7. DateTime.Compare(t1,t2)比較两个日期大小

    DateTime.Compare(t1,t2)比較两个日期大小,排前面的小,排在后面的大,比方:2011-2-1就小于2012-3-2返回值小于零:  t1 小于 t2. 返回值等于零 : t1 等于 ...

  8. JavaScript概要

     当用户填写表单在线,用户输入表单经常要推测在页面上,它提示用户填写正确的邮箱.哪些项目不填之类,这些都是JavaScript小的特点. JavaScript是一种基于对象的脚本语言,使用它能够开 ...

  9. 《图书管理系统——java》

    /* (程序头部凝视開始) * 程序的版权和版本号声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名:    < ...

  10. 认识Backbone (三)

    Backbone.Collection(集合)  collection是model对象的一个有序的组合,我们可以在集合上绑定 "change" 事件,从而当集合中的模型发生变化时f ...