Python实现PS图像抽象画风效果的方法


Posted in Python onJanuary 23, 2018

本文实例讲述了Python实现PS图像抽象画风效果的方法。分享给大家供大家参考,具体如下:

今天介绍一种基于图像分割和color map 随机采样生成一种抽象画风的图像特效,简单来说,就是先生成一张 color map 图,颜色是渐变的,然后针对要处理的图像,进行分割,这里用的是 SLIC 分割算法,然后从 color map 中随机采样,将采样得到的像素值赋予分割后的图像区域。

# -*- coding: utf-8 -*-
"""
Created on Sun Aug 20 08:31:04 2017
@author: shiyi
"""
import numpy as np
import matplotlib.pyplot as plt
from skimage import io
from skimage.segmentation import slic
import numpy.matlib
import random
file_name='D:/Visual Effects/PS Algorithm/9.jpg';
img=io.imread(file_name)
row, col, channel = img.shape
# define the colormap
color_map = img.copy()
rNW = 0.5
rNE = 1.0
rSW = 0.0
rSE = 0.5
gNW = 0.0
gNE = 0.5
gSW = 0.0
gSE = 1.0
bNW = 1.0
bNE = 0.0
bSW = 0.5
bSE = 0.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)
fx = x_mask * 1.0 / col
fy = y_mask * 1.0 / row
p = rNW + (rNE - rNW) * fx
q = rSW + (rSE - rSW) * fx
r = ( p + (q - p) * fy )
r[r<0] = 0
r[r>1] =1
p = gNW + (gNE - gNW) * fx
q = gSW + (gSE - gSW) * fx
g = ( p + (q - p) * fy )
g[g<0] = 0
g[g>1] =1
p = bNW + (bNE - bNW) * fx
q = bSW + (bSE - bSW) * fx
b = ( p + (q - p) * fy )
b[b<0] = 0.0
b[b>1] = 1.0
color_map[:, :, 0] = r * 255
color_map[:, :, 1] = g * 255
color_map[:, :, 2] = b * 255
# segment the image
N_block = 100
segments = slic(img, n_segments=N_block, compactness=10)
# plt.imshow(segments, plt.cm.gray)
seg_img = img.copy()
T_mask = img.copy()
for i in range(N_block):
 mask = (segments == i)
 T_mask[:, :, 0] = mask
 T_mask[:, :, 1] = mask
 T_mask[:, :, 2] = mask
 x_ind = int(random.random() * (col-1))
 y_ind = int(random.random() * (row-1))
 color = color_map[y_ind, x_ind, :]
 T_img = seg_img * T_mask
 T_img = color
 seg_img = seg_img * (1-T_mask) + T_img * T_mask
plt.figure(2)
plt.imshow(seg_img)
plt.show()

原图:

Python实现PS图像抽象画风效果的方法

效果图:

Python实现PS图像抽象画风效果的方法

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python使用7z解压软件备份文件脚本分享
Feb 21 Python
Python使用面向对象方式创建线程实现12306售票系统
Dec 24 Python
使用Python实现博客上进行自动翻页
Aug 23 Python
CentOS 7 安装python3.7.1的方法及注意事项
Nov 01 Python
Python语言检测模块langid和langdetect的使用实例
Feb 19 Python
windows中安装Python3.8.0的实现方法
Nov 19 Python
解决pycharm中导入自己写的.py函数出错问题
Feb 12 Python
Python反爬虫伪装浏览器进行爬虫
Feb 28 Python
PyTorch加载自己的数据集实例详解
Mar 18 Python
python中wx模块的具体使用方法
May 15 Python
如何使用Cython对python代码进行加密
Jul 08 Python
python中sqllite插入numpy数组到数据库的实现方法
Jun 21 Python
matplotlib作图添加表格实例代码
Jan 23 #Python
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
Jan 23 #Python
Django实现组合搜索的方法示例
Jan 23 #Python
50行Python代码实现人脸检测功能
Jan 23 #Python
Python基于OpenCV实现视频的人脸检测
Jan 23 #Python
Python求出0~100以内的所有素数
Jan 23 #Python
python之matplotlib学习绘制动态更新图实例代码
Jan 23 #Python
You might like
PHP 八种基本的数据类型小结
2011/06/01 PHP
PHP实现显示照片exif信息的方法
2014/07/11 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
2015/12/10 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
2018/08/04 PHP
Dom与浏览器兼容性说明
2010/10/25 Javascript
javascript中删除指定数组中指定的元素的代码
2011/02/12 Javascript
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
2012/03/14 Javascript
javaScript知识点总结(必看篇)
2016/06/10 Javascript
深入理解JavaScript中的预解析
2017/01/04 Javascript
JavaScript数组排序reverse()和sort()方法详解
2017/12/24 Javascript
vue使用iframe嵌入网页的示例代码
2020/06/09 Javascript
JS基于对象的链表实现与使用方法示例
2019/01/31 Javascript
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
[06:21]完美世界亚洲区首席发行官竺琦TI3采访
2013/08/26 DOTA
python实现通过shelve修改对象实例
2014/09/26 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
2018/03/31 Python
python selenium自动上传有赞单号的操作方法
2018/07/05 Python
python3读取excel文件只提取某些行某些列的值方法
2018/07/10 Python
Python之inspect模块实现获取加载模块路径的方法
2018/10/16 Python
Python给图像添加噪声具体操作
2019/03/03 Python
Python_查看sqlite3表结构,查询语句的示例代码
2019/07/17 Python
python批量将excel内容进行翻译写入功能
2019/10/10 Python
python如何将两个txt文件内容合并
2019/10/18 Python
python使用ctypes调用扩展模块的实例方法
2020/01/28 Python
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
Linux管理员面试题 Linux admin interview questions
2016/07/08 面试题
大专毕业生求职信
2014/07/05 职场文书
党员干部反四风对照检查材料思想汇报
2014/09/14 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
节约用电通知
2015/04/25 职场文书
民间借贷被告代理词
2015/05/23 职场文书
一个都不能少观后感
2015/06/04 职场文书
五一放假通知怎么写
2015/08/18 职场文书
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫
HTML5基础学习之文本标签控制
2022/03/25 HTML / CSS