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获取当前时间的方法
Jan 14 Python
Python装饰器的函数式编程详解
Feb 27 Python
python对象及面向对象技术详解
Jul 19 Python
浅谈python中copy和deepcopy中的区别
Oct 23 Python
pycharm运行程序时在Python console窗口中运行的方法
Dec 03 Python
解决Pycharm界面的子窗口不见了的问题
Jan 17 Python
python学习--使用QQ邮箱发送邮件代码实例
Apr 16 Python
python判断文件夹内是否存在指定后缀文件的实例
Jun 10 Python
anaconda中更改python版本的方法步骤
Jul 14 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
Aug 16 Python
python类中super() 的使用解析
Dec 19 Python
关于python scrapy中添加cookie踩坑记录
Nov 17 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
收音机史话 - 1960年代前后的DIY
2021/03/02 无线电
php.ini 中文版
2006/10/28 PHP
自己在做项目过程中学到的PHP知识收集
2012/08/20 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
php策略模式简单示例分析【区别于工厂模式】
2019/09/25 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
JavaScript中的onerror事件概述及使用
2013/04/01 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
屏蔽相应键盘按钮操作
2014/03/10 Javascript
js实现仿QQ秀换装效果的方法
2015/03/04 Javascript
简单实现js菜单栏切换效果
2017/03/04 Javascript
老生常谈combobox和combotree模糊查询
2017/04/17 Javascript
深入理解Angular.JS中的Scope继承
2017/06/04 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
JS 中LocalStorage和SessionStorage的使用
2017/08/17 Javascript
JavaScript实现修改伪类样式
2017/11/27 Javascript
详解Axios统一错误处理与后置
2018/09/26 Javascript
node.js的http.createServer过程深入解析
2019/06/06 Javascript
tweenjs缓动算法的使用实例分析
2019/08/26 Javascript
[01:22:28]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第一场 1月18日
2021/03/11 DOTA
[01:01:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第一场 3月4日
2021/03/11 DOTA
Python实现的概率分布运算操作示例
2017/08/14 Python
Django实现全文检索的方法(支持中文)
2018/05/14 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
2019/10/23 Python
调整Jupyter notebook的启动目录操作
2020/04/10 Python
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
联想台湾官网:Lenovo TW
2018/05/09 全球购物
Pop In A Box英国:Funko POP搪胶公仔
2019/05/27 全球购物
函授本科毕业自我鉴定
2013/10/09 职场文书
先进个人获奖感言
2014/01/24 职场文书
医院院务公开实施方案
2014/05/03 职场文书
2014年医院后勤工作总结
2014/12/06 职场文书
车间主任岗位职责范本
2015/04/08 职场文书
2016年企业先进员工事迹材料
2016/02/25 职场文书
导游词之西湖雷峰塔
2019/09/18 职场文书