Python 实现PS滤镜中的径向模糊特效


Posted in Python onDecember 03, 2020

实现效果

Python 实现PS滤镜中的径向模糊特效

实现代码

from skimage import img_as_float
import matplotlib.pyplot as plt
from skimage import io
import numpy as np
import numpy.matlib

file_name='D:/2020121173119242.png'  # 图片路径
img=io.imread(file_name)

img = img_as_float(img)

img_out = img.copy()

row, col, channel = img.shape

xx = np.arange (col) 
yy = np.arange (row)

x_mask = numpy.matlib.repmat (xx, row, 1)
y_mask = numpy.matlib.repmat (yy, col, 1)
y_mask = np.transpose(y_mask)

center_y = (row -1) / 2.0
center_x = (col -1) / 2.0

R = np.sqrt((x_mask - center_x) **2 + (y_mask - center_y) ** 2)

angle = np.arctan2(y_mask - center_y , x_mask - center_x)

Num = 20
arr = np.arange(Num)

for i in range (row):
 for j in range (col):

  R_arr = R[i, j] - arr 
  R_arr[R_arr < 0] = 0

  new_x = R_arr * np.cos(angle[i,j]) + center_x
  new_y = R_arr * np.sin(angle[i,j]) + center_y

  int_x = new_x.astype(int)
  int_y = new_y.astype(int)

  int_x[int_x > col-1] = col - 1
  int_x[int_x < 0] = 0
  int_y[int_y < 0] = 0
  int_y[int_y > row -1] = row -1

  img_out[i,j,0] = img[int_y, int_x, 0].sum()/Num
  img_out[i,j,1] = img[int_y, int_x, 1].sum()/Num
  img_out[i,j,2] = img[int_y, int_x, 2].sum()/Num


plt.figure(1)
plt.imshow(img)
plt.axis('off')

plt.figure(2)
plt.imshow(img_out)
plt.axis('off')

plt.show()

以上就是Python 实现 PS 滤镜中的径向模糊特效的详细内容,更多关于python 图片模糊滤镜的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python实现删除文件与目录的方法
Nov 10 Python
python显示生日是星期几的方法
May 27 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
Oct 09 Python
TensorFlow在MAC环境下的安装及环境搭建
Nov 14 Python
使用Python批量修改文件名的代码实例
Jan 24 Python
PyQt打开保存对话框的方法和使用详解
Feb 27 Python
详解Python3除法之真除法、截断除法和下取整对比
May 23 Python
python打包exe开机自动启动的实例(windows)
Jun 28 Python
python读取ini配置的类封装代码实例
Jan 08 Python
python颜色随机生成器的实例代码
Jan 10 Python
python collections模块的使用
Oct 16 Python
Python中Permission denied的解决方案
Apr 02 Python
python字符串拼接+和join的区别详解
Dec 03 #Python
python二维图制作的实例代码
Dec 03 #Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
Dec 03 #Python
Python 按比例获取样本数据或执行任务的实现代码
Dec 03 #Python
用 Django 开发一个 Python Web API的方法步骤
Dec 03 #Python
分享unittest单元测试框架中几种常用的用例加载方法
Dec 02 #Python
python 使用cycle构造无限循环迭代器
Dec 02 #Python
You might like
PHP判断变量是否为0的方法
2014/02/08 PHP
thinkphp3.2.2前后台公用类架构问题分析
2014/11/25 PHP
php gd等比例缩放压缩图片函数
2016/06/12 PHP
php实现遍历文件夹的方法汇总
2017/03/02 PHP
PHP利用二叉堆实现TopK-算法的方法详解
2017/04/24 PHP
详解yii2使用多个数据库的案例
2017/06/16 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
2017/07/09 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
2020/09/15 PHP
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
jQuery 计算iframe 窗口大小的方法
2014/05/13 Javascript
jQuery scrollFix滚动定位插件
2015/04/01 Javascript
jQuery插件制作之全局函数用法实例
2015/06/01 Javascript
vue.js 获取当前自定义属性值
2017/06/01 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
2017/08/04 Javascript
微信小程序实现星星评价效果
2018/11/02 Javascript
Nodejs + Websocket 指定发送及群聊的实现
2020/01/09 NodeJs
javascript实现留言板功能
2020/02/08 Javascript
js仿京东放大镜效果
2020/08/09 Javascript
Python中实现结构相似的函数调用方法
2015/03/10 Python
python中对数据进行各种排序的方法
2019/07/02 Python
python实现的汉诺塔算法示例
2019/10/23 Python
导致python中import错误的原因是什么
2020/07/01 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
英国最大的电脑零售连锁店集团:PC World
2016/10/10 全球购物
ZWILLING双立人英国网上商店:德国刀具锅具厨具品牌
2018/05/15 全球购物
德国户外装备、登山运动和攀岩商店:tapir store
2020/02/12 全球购物
拖鞋店创业计划书
2014/01/15 职场文书
初三家长会邀请函
2014/01/18 职场文书
连锁酒店店长职责范本
2014/02/13 职场文书
人力管理专业毕业生求职信
2014/02/27 职场文书
结婚喜宴主持词
2014/03/14 职场文书
岗位工作说明书
2014/07/29 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
暑期家教宣传单
2015/07/14 职场文书