这里给出灰度图像的模糊算法,彩色图像只要分别对三个通道做模糊即可。

%%  spin blur

% 旋转模糊

clc;

clear all;

close all;



I=imread('4.jpg');

I=double(I);



% % % I_new=I;

% % % for kk=1:3

% % %     I_new(:,:,kk)=Spin_blur_Fun(I(:,:,kk), 30, 30);

% % % end

% % % imshow(I_new/255)

Image=I;

Image=0.2989 * I(:,:,1) + 0.5870 * I(:,:,2) + 0.1140 * I(:,:,3); 



[row, col]=size(Image);

Image_new=Image;

Center_X=(col+1)/2;

Center_Y=(row+1)/2;

validPoint=1;

angle=5;

radian=angle*pi/180;

radian2=radian*radian;

Num=30;

Num2=Num*Num;

for i=1:row

    for j=1:col

        validPoint=1;

        x0=j-Center_X;

        y0=Center_Y-i;

        x1=x0;

        y1=y0;

        Sum_Pixel=Image(i,j);

        for k=1:Num

            x0=x1;

            y0=y1;

            %%% 逆时针

            % x1=x0-radian*y0/Num-radian2*x0/Num2;

            % y1=y0+radian*x0/Num-radian2*y0/Num2;

            %%% 顺时针

            x1=x0+radian*y0/Num-radian2*x0/Num2;

            y1=y0-radian*x0/Num-radian2*y0/Num2;

            

            x=floor(x1+Center_X);

            y=floor(Center_Y-y1);

            

            if(x>1 && x<col && y>1 && y<row)

                validPoint=validPoint+1;

                Sum_Pixel=Sum_Pixel+Image(y,x);

            end   

        end

        Image_new(i,j)=Sum_Pixel/validPoint;

    end

end

imshow(Image_new/255);

原图

效果图

效果图

PS 滤镜——旋转模糊的更多相关文章

  1. Python: PS 滤镜--旋转模糊

    本文用 Python 实现 PS 滤镜中的旋转模糊,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/392 ...

  2. PS 滤镜——运动模糊

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

  3. OpenCV——PS 滤镜, 浮雕效果

    具体的算法原理可以参考: PS 滤镜, 浮雕效果 // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITH ...

  4. OpenCV——PS 滤镜, 曝光过度

    算法原理可以参考: PS 滤镜,曝光过度 #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <io ...

  5. SpinBlur - 旋转模糊

    [SpinBlur - 旋转模糊] Using the Spin Blur effect, you can rotate and blur the image around one or more p ...

  6. Python: PS 滤镜--水波特效

    本文用 Python 实现 PS 滤镜中的 水波特效 import numpy as np from skimage import img_as_float import matplotlib.pyp ...

  7. Python: PS 滤镜--旋涡特效

    本文用Python 实现 PS 滤镜的旋涡特效,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/42215 ...

  8. Python: PS 滤镜--USM 锐化

    本文用 Python 实现 PS 滤镜中的 USM 锐化效果,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/detail ...

  9. Python: PS 滤镜--素描

    本文用 Python 实现 PS 滤镜中的素描特效,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/386 ...

随机推荐

  1. Android Studio 使用wifi调试插件

    由于手机亦或是数据线的问题,在应用开发过程中会时不时地遇到手机突然连不上电脑的尴尬时刻,于是就学习了如何使用wifi进行应用调试.下面就具体介绍一下adb wifi插件的安装和使用.其实我们只需要安装 ...

  2. memcached实战系列(二)memcached参数以及启动

    memcached启动的时候配置的参数也比较多.在这里我就做一个汇总,需要的时候直接查看参数以及参数的含义. 下面是参数的定义以及解释. 1.1.1. 参数说明 -d选项是启动一个守护进程 -m是分配 ...

  3. Servlet之Request对象

    下面的方法可用在 Servlet 程序中读取 HTTP 头.这些方法通过HttpServletRequest 对象可用. 1    Cookie[] getCookies() 返回一个数组,包含客户端 ...

  4. GDAL不支持创建PCIDSK的面状矢量格式

    最近在使用GDAL创建PCIDSK格式的矢量数据,发现创建点和线的矢量数据都没问题,创建面状的只有属性表没有图形.在GDAL官网说明也写的是支持的,地址为:http://www.gdal.org/fr ...

  5. 【安卓网络请求开源框架Volley源码解析系列】初识Volley及其基本用法

    在安卓中当涉及到网络请求时,我们通常使用的是HttpUrlConnection与HttpClient这两个类,网络请求一般是比较耗时,因此我们通常会在一个线程中来使用,但是在线程中使用这两个类时就要考 ...

  6. hive支持in用法是从0.3.2版本后

    写hive 用in 如分时段,分类型,分平台统计点击量 select substr(createtime,12,2) hour,logtype,os_id,count(*)  from  wizad_ ...

  7. 一台电脑上同启动两个Tomcat的方式,windows/Linux配置。

     安装两个jdk,一个JDK路径在:C:\ProgramFiles (x86)\Java\jdk1.7.0_25,另外一个JDK的路径在E:\UCMSServer\j2sdk 在环境变量里并设置J ...

  8. java判断字符串是否回文

    java判断字符串是否回文 /** * java判断字符串是否回文<br><br> * 基本思想是利用字符串首尾对应位置相比较 * * @author InJavaWeTrus ...

  9. javascript之prototype原型属性案例

    练习: 给字符串对象添加一个toCharArray的方法,然后再添加一个reverse(翻转)的 方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...

  10. java组播MulticastSocket

    在单播模式中有服务器端和客户端之分,而组播模式与单播模式不同,每个端都是以路由器或交换机做为中转广播站,任意一端向路由器或交换机发送消息,路由或交换机负责发送其他节点,每个节点都是同等的.所以在编程模 ...