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 相关文章推荐
django在接受post请求时显示403forbidden实例解析
Jan 25 Python
Django 使用logging打印日志的实例
Apr 28 Python
十分钟利用Python制作属于你自己的个性logo
May 07 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
Jan 04 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
Feb 16 Python
用Python+OpenCV对比图像质量的几种方法
Jul 15 Python
python 视频逐帧保存为图片的完整实例
Dec 10 Python
Python3 selenium 实现QQ群接龙自动化功能
Apr 17 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
Apr 24 Python
python list的index()和find()的实现
Nov 16 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
Nov 24 Python
Python深度学习之实现卷积神经网络
Jun 05 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
推荐一款MAC OS X 下php集成开发环境mamp
2014/11/08 PHP
smarty自定义函数htmlcheckboxes用法实例
2015/01/22 PHP
laravel批量生成假数据的方法
2019/10/09 PHP
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
2014/05/04 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
2015/03/18 Javascript
jQuery带进度条全屏图片轮播特效代码分享
2020/06/28 Javascript
JavaScript数组的一些奇葩行为
2016/01/25 Javascript
从0开始学Vue
2016/10/27 Javascript
jQuery 全选 全不选 事件绑定的实现代码
2017/01/23 Javascript
js微信分享实现代码
2020/10/11 Javascript
js判断节假日实例代码
2017/12/27 Javascript
iview通过Dropdown(下拉菜单)实现的右键菜单
2018/10/26 Javascript
vue实现form表单与table表格的数据关联功能示例
2019/01/29 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
[06:16]《DAC最前线》之地区预选赛全面回顾
2015/01/19 DOTA
python将xml xsl文件生成html文件存储示例讲解
2013/12/03 Python
python通过自定义isnumber函数判断字符串是否为数字的方法
2015/04/23 Python
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
使用selenium和pyquery爬取京东商品列表过程解析
2019/08/15 Python
python通过matplotlib生成复合饼图
2020/02/06 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
python中@contextmanager实例用法
2021/02/07 Python
AmazeUI 模态窗口的实现代码
2020/08/18 HTML / CSS
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
美国购买隐形眼镜网站:Lenses For Less
2020/07/05 全球购物
新东网科技Java笔试题
2012/07/13 面试题
静态成员和非静态成员的区别
2012/05/12 面试题
企业车辆管理制度
2014/01/24 职场文书
教学实习自我评价
2014/01/28 职场文书
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
竞选班长演讲稿500字
2014/08/22 职场文书
护士长2015年终工作总结
2015/04/24 职场文书
2015年清剿火患专项行动工作总结
2015/07/27 职场文书
Python基础之tkinter图形化界面学习
2021/04/29 Python