python 实现波浪滤镜特效


Posted in Python onDecember 02, 2020

本文用 Python 实现 PS 滤镜的波浪特效

import numpy as np
from skimage import img_as_float
import matplotlib.pyplot as plt
from skimage import io
import numpy.matlib
import math
# 图片位置
file_name2='D:/Visual Effects/PS Algorithm/4.jpg'
img=io.imread(file_name2)

img = img_as_float(img)

row, col, channel = img.shape
img_out = img * 1.0
alpha = 70.0
beta = 30.0
degree = 20.0

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

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)

xx_dif = x_mask - center_x
yy_dif = center_y - y_mask

x = degree * np.sin(2 * math.pi * yy_dif / alpha) + xx_dif
y = degree * np.cos(2 * math.pi * xx_dif / beta) + yy_dif

x_new = x + center_x
y_new = center_y - y 

int_x = np.floor (x_new)
int_x = int_x.astype(int)
int_y = np.floor (y_new)
int_y = int_y.astype(int)

for ii in range(row):
  for jj in range (col):
    new_xx = int_x [ii, jj]
    new_yy = int_y [ii, jj]

    if x_new [ii, jj] < 0 or x_new [ii, jj] > col -1 :
      continue
    if y_new [ii, jj] < 0 or y_new [ii, jj] > row -1 :
      continue

    img_out[ii, jj, :] = img[new_yy, new_xx, :]


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

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

plt.show()

实现效果

python 实现波浪滤镜特效

以上就是python 实现波浪滤镜特效的详细内容,更多关于python 波浪滤镜的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
pyramid配置session的方法教程
Nov 27 Python
Python模拟登录12306的方法
Dec 30 Python
Python2.7简单连接与操作MySQL的方法
Apr 27 Python
Python做文本按行去重的实现方法
Oct 19 Python
python实现读取并显示图片的两种方法
Jan 13 Python
Python 中开发pattern的string模板(template) 实例详解
Apr 01 Python
Python实现判断字符串中包含某个字符的判断函数示例
Jan 08 Python
python字符串的拼接方法总结
Nov 18 Python
如何基于python操作json文件获取内容
Dec 24 Python
python实现网页录音效果
Oct 26 Python
python函数超时自动退出的实操方法
Dec 28 Python
解决Pytorch dataloader时报错每个tensor维度不一样的问题
May 28 Python
python 如何对logging日志封装
Dec 02 #Python
python3中确保枚举值代码分析
Dec 02 #Python
python使用yaml 管理selenium元素的示例
Dec 01 #Python
python3处理word文档实例分析
Dec 01 #Python
python3中布局背景颜色代码分析
Dec 01 #Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 #Python
Python用摘要算法生成token及检验token的示例代码
Dec 01 #Python
You might like
PHP循环语句笔记(foreach,list)
2011/11/29 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
ASP.NET jQuery 实例18 通过使用jQuery validation插件校验DropDownList
2012/02/03 Javascript
JavaScript高级程序设计 阅读笔记(四) ECMAScript中的类型转换
2012/02/27 Javascript
图片上传插件jquery.uploadify详解
2013/11/15 Javascript
JavaScript中读取和保存文件实例
2014/05/08 Javascript
实现placeholder效果的方案汇总
2015/06/11 Javascript
JavaScript动态改变div属性的实现方法
2015/07/22 Javascript
移动端js触摸事件详解
2016/09/18 Javascript
react.js 获取真实的DOM节点实例(必看)
2017/04/17 Javascript
jQuery实现的自定义轮播图功能详解
2018/12/28 jQuery
[55:45]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.24
2019/09/10 DOTA
使用Python编写vim插件的简单示例
2015/04/17 Python
python生成器generator用法实例分析
2015/06/04 Python
在windows下快速搭建web.py开发框架方法
2016/04/22 Python
利用Python批量生成任意尺寸的图片
2016/08/29 Python
基于python的图片修复程序(实现水印去除)
2018/06/04 Python
Python3 获取一大段文本之间两个关键字之间的内容方法
2018/10/11 Python
Jmeter调用Python脚本实现参数互相传递的实现
2021/01/22 Python
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
使用CSS实现阅读进度条
2017/02/27 HTML / CSS
运动鞋中的劳斯莱斯:索康尼(SAUCONY)
2017/08/09 全球购物
中东地区为妈妈们提供一切的头号购物目的地:Sprii
2018/05/06 全球购物
丹麦优惠购物网站:PLUSSHOP
2019/03/24 全球购物
什么是Remote Module
2016/06/10 面试题
优秀毕业生事迹材料
2014/02/12 职场文书
岗位职责风险防控
2014/02/18 职场文书
元旦文艺汇演主持词
2014/03/26 职场文书
道德之星事迹材料
2014/05/03 职场文书
2014年中秋节活动总结
2014/08/29 职场文书
单位委托书怎么写
2014/09/21 职场文书
2014年学生会主席工作总结
2014/11/07 职场文书
建国大业观后感800字
2015/06/01 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL