PS 滤镜—— 径向模糊
这里给出灰度图像的模糊算法,彩色图像只要分别对三个通道做模糊即可。
%%% radiation blur
%%%
clc;
clear all;
close all;
I=imread('4.jpg');
I=double(I);
% Image=I;
Image=0.2989 * I(:,:,1) + 0.5870 * I(:,:,2) + 0.1140 * I(:,:,3);
[row, col]=size(Image);
Image_new(1:row,1:col)=255;
Center_X=(col+1)/2;
Center_Y=(row+1)/2;
alpha=0.85;
for i=1:floor(Center_Y)
for j=floor(Center_X)+1:col
% 第一象限
x1=j-Center_X;
y1=Center_Y-i;
T1=Image(i,j);
% 第三象限
x3=-x1;
y3=-y1;
x_image=floor(Center_X+x3);
y_image=floor(Center_Y-y3);
i3=y_image;
j3=x_image;
T3=Image(y_image,x_image);
% 第二象限
x2=-x1;
y2=y1;
x_image=floor(Center_X+x2);
y_image=floor(Center_Y-y2);
i2=y_image;
j2=x_image;
T2=Image(y_image,x_image);
%第四象限
x4=x1;
y4=-y1;
x_image=floor(Center_X+x4);
y_image=floor(Center_Y-y4);
i4=y_image;
j4=x_image;
T4=Image(y_image,x_image);
k=y1/x1;
x_start=x1*alpha;
y_start=k*x_start;
x_end=x1;
y_end=y1;
x=x_start;
y=y_start;
if(x1>y1)
Num_Pixel=floor(x_end-x_start)+1;
for x=x_start:x_end-1
y0=k*(x+1);
% 第一象限
x1=x+1;
y1=round(y0);
% y=y+1;
x_image=floor(Center_X+x1);
y_image=floor(Center_Y-y1);
T1=T1+Image(y_image,x_image);
% 第三象限
x3=-x1;
y3=-y1;
x_image=floor(Center_X+x3);
y_image=floor(Center_Y-y3);
T3=T3+Image(y_image,x_image);
% 第二象限
x2=-x1;
y2=y1;
x_image=floor(Center_X+x2);
y_image=floor(Center_Y-y2);
T2=T2+Image(y_image,x_image);
% 第四象限
x4=x1;
y4=-y1;
x_image=floor(Center_X+x4);
y_image=floor(Center_Y-y4);
T4=T4+Image(y_image,x_image);
end
else
Num_Pixel=floor(y_end-y_start)+1;
for y=y_start:y_end-1
x0=(y+1)/k;
% 第一象限
x1=floor(x0);
y1=y+1;
x_image=floor(Center_X+x1);
y_image=floor(Center_Y-y1);
T1=T1+Image(y_image,x_image);
% 第三象限
x3=-x1;
y3=-y1;
x_image=floor(Center_X+x3);
y_image=floor(Center_Y-y3);
T3=T3+Image(y_image,x_image);
% 第二象限
x2=-x1;
y2=y1;
x_image=floor(Center_X+x2);
y_image=floor(Center_Y-y2);
T2=T2+Image(y_image,x_image);
% 第四象限
x4=x1;
y4=-y1;
x_image=floor(Center_X+x4);
y_image=floor(Center_Y-y4);
T4=T4+Image(y_image,x_image);
end
end
Image_new(i,j)=T1/Num_Pixel;
Image_new(i2,j2)=T2/Num_Pixel;
Image_new(i3,j3)=T3/Num_Pixel;
Image_new(i4,j4)=T4/Num_Pixel;
end
end
imshow(Image_new/255);
原图
效果图
效果图
PS 滤镜—— 径向模糊的更多相关文章
- Python: PS滤镜--径向模糊
本文用 Python 实现 PS 滤镜中的径向模糊特效,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/3 ...
- OpenCV——PS 滤镜, 浮雕效果
具体的算法原理可以参考: PS 滤镜, 浮雕效果 // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITH ...
- OpenCV——PS 滤镜, 曝光过度
算法原理可以参考: PS 滤镜,曝光过度 #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <io ...
- Python: PS 滤镜--水波特效
本文用 Python 实现 PS 滤镜中的 水波特效 import numpy as np from skimage import img_as_float import matplotlib.pyp ...
- Python: PS 滤镜--旋涡特效
本文用Python 实现 PS 滤镜的旋涡特效,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/42215 ...
- Python: PS 滤镜--USM 锐化
本文用 Python 实现 PS 滤镜中的 USM 锐化效果,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/detail ...
- Python: PS 滤镜--素描
本文用 Python 实现 PS 滤镜中的素描特效,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/386 ...
- Python: PS 滤镜--表面模糊
本文用 Python 实现 PS 滤镜中的表面模糊,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/528 ...
- Python: PS 滤镜--旋转模糊
本文用 Python 实现 PS 滤镜中的旋转模糊,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/392 ...
随机推荐
- 视频特性TI(时间信息)和SI(空间信息)的计算工具:TIandSI-压缩码流版
===================================================== TI(时间信息)和SI(空间信息)计算工具文章列表: 视频特性TI(时间信息)和SI(空间信 ...
- Matlab:如何读取CSV文件以及如何读取带有字符串数据项的CSV文件
CSV,逗号分开的文件,如果能快速的读取这些文件中的数据,无疑会帮助我们解决很多问题. 1. 只有数据的CSV文件,CSV file that includes only numbers. As an ...
- 关于查找iOS中App路径时所要注意的一个问题
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交 ...
- iOS开发之WKWebView代替UIWebView
前言 Xcode8发布以后,编译器开始不支持IOS7,所以很多应用在适配IOS10之后都不在适配IOS7了,其中包括了很多大公司,网易新闻,滴滴出行等.因此,我们公司的应用也打算淘汰IOS7. 支持到 ...
- Dynamics CRM 将实体从高级查找列表中移除不可见
有时我们不需要将某个实体显示给一般用户比如配置实体,但是这种类型的实体有时候又需要给一般用户读权限ODATA的时候得能读,站点地图上的隐藏比较容易用工具配置下权限即可.其实做到这步一般就可以了但有的客 ...
- Android开发学习之路--React-Native之初体验
近段时间业余在学node.js,租了个阿里云准备搭建后端,想用node.js,偶尔得知react-native可以在不同平台跑,js在iOS和android上都可以运行ok,今天就简单学习下rea ...
- 仿淘宝购物车demo---增加和减少商品数量
在上一篇博客中,小编简单的介绍了如何使用listview来实现购物车,但是仅仅是简单的实现了列表的功能,随之而来一个新的问题,买商品的时候,我们可能不止想买一件商品,想买多个,或许有因为某种原因点错了 ...
- Android 5.x 权限问题解决方法
android 5.x开始,引入了非常严格的selinux权限管理机制,我们经常会遇到因为selinux权限问题造成的各种avc denied困扰. 本文结合具体案例,讲解如何根据log来快速解决9 ...
- 学习TensorFlow,线性回归模型
学习TensorFlow,在MNIST数据集上建立softmax回归模型并测试 一.代码 <span style="font-size:18px;">from tens ...
- 最简单的基于FFmpeg的封装格式处理:视音频分离器简化版(demuxer-simple)
===================================================== 最简单的基于FFmpeg的封装格式处理系列文章列表: 最简单的基于FFmpeg的封装格式处理 ...