今天介绍一种基于图像分割和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 randomfile_name='D:/Visual Effects/PS Algorithm/9.jpg';
img=io.imread(file_name)row, col, channel = img.shape# define the colormapcolor_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.0bNW = 1.0
bNE = 0.0
bSW = 0.5
bSE = 0.0xx = 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 / rowp = rNW + (rNE - rNW) * fx
q = rSW + (rSE - rSW) * fx
r = ( p + (q - p) * fy )
r[r<0] = 0
r[r>1] =1p = gNW + (gNE - gNW) * fx
q = gSW + (gSE - gSW) * fx
g = ( p + (q - p) * fy )
g[g<0] = 0
g[g>1] =1p = bNW + (bNE - bNW) * fx
q = bSW + (bSE - bSW) * fx
b = ( p + (q - p) * fy )
b[b<0] = 0.0
b[b>1] = 1.0color_map[:, :, 0] = r * 255
color_map[:, :, 1] = g * 255
color_map[:, :, 2] = b * 255# segment the imageN_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] = maskT_mask[:, :, 1] = maskT_mask[:, :, 2] = maskx_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 = colorseg_img = seg_img * (1-T_mask) + T_img * T_maskplt.figure(2)
plt.imshow(seg_img)
plt.show()

原图:

效果图:

Python: PS 图像特效 — 抽象画风相关推荐

  1. python图像转“抽象”画风

    python讨论qq群:996113038 导语: 前几天给大家写过一个"图像转素描风"的推送,就是用图像处理的方法.修改图像里面的像素点的值.将图像修改成"素描画&qu ...

  2. Python: PS 滤镜特效 -- Marble Filter

    本文用 Python 实现 PS 滤镜特效,Marble Filter, 这种滤镜使图像产生不规则的扭曲,看起来像某种玻璃条纹, 具体的代码如下: import numpy as np import ...

  3. Python: PS 图像调整--饱和度调整

    本文用 Python 实现 PS 图像调整中的饱和度调整算法,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/detail ...

  4. Python: PS 图像调整--亮度调整

    本文用 Python 实现 PS 图像调整中的亮度调整,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/2 ...

  5. Python: PS 图像调整--明度调整

    本文用 Python 实现 PS 图像调整中的明度调整: 我们知道,一般的非线性RGB亮度调整只是在原有R.G.B值基础上增加和减少一定量来实现的,而PS的明度调整原理还得从前面那个公式上去找.我们将 ...

  6. PS 图像特效算法— —渐变

    这个特效利用图层的混合原理,先设置一个遮罩层,然后用遮罩层与原图进行相乘,遮罩层不同,图像最后呈现的渐变效果也不一样. clc; clear all; close all; addpath('E:\P ...

  7. PS 图像特效-非线性滤波器

    利用非线性滤波器,使图像的色彩凝块,形成一种近似融化的特效. clc; clear all; addpath('E:\PhotoShop Algortihm\Image Processing\PS A ...

  8. Python: PS 图像调整--颜色梯度

    本文用 Python 实现 PS 中的色彩图,可以看到颜色的各种渐变,具体的效果可以参考以前的博客: http://blog.csdn.net/matrix_space/article/details ...

  9. Python代码图像特效算法制作

    毛玻璃特效 毛玻璃特效,是利用图像邻域内随机一个像素点颜色代替当前像素,从而实现毛玻璃一般朦胧模糊的效果. # 毛玻璃特效 def glass(self):     glassImg = np.zer ...

最新文章

  1. vb怎么抓取html的class,vbs怎么获取网页内容
  2. BO QUERY BUILDER - SI_INSTANCE相关属性
  3. 未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0[已解决]
  4. 上海理工大学:用数字技术打响智慧抗疫信息战
  5. CSS样式引入方式和部分CSS样式的设置
  6. PyTorch 1.0 中文官方教程:可选:数据并行处理
  7. QQ 群文件紧急扩容;钟南山团队与阿里云联手推进新冠疫苗研发;PhpStorm 2019.3.3 发布| 极客头条...
  8. Android设备间通信(wifi连接)
  9. iOS-各种报错,各种error
  10. PoJ3278--Catch That Cow(Bfs)
  11. JMETER压力测试思维导图
  12. C-free5 安装教程
  13. MySQL特异功能之:Impossible WHERE noticed after reading const tables
  14. java编程语言怎么学习,详细说明
  15. (纪录片)鸟瞰中国 China from Above
  16. 名帖347 怀素 草书《大草千字文》
  17. 苹果笔记本如何安装双系统
  18. Linux浏览器无法访问网络解决方案
  19. 物联网卡传感器赋能零售商品感应机制 开启智能零售新风尚
  20. Jupyter如何切换工作路径至E盘文件夹

热门文章

  1. MySQL 复合索引、单一索引区别
  2. 拉卡拉支付依托“海量数据” 打造中小商户智慧经营
  3. http请求头中的content-type 属性
  4. 精洗鞋奢侈品多门店预约到店洗鞋小程序洗衣优惠券支持积分
  5. linux时间同步windows,win和linux的时间同步方法大全
  6. 强制文件下载header设置
  7. 【git配置】配置用户名和密码
  8. Linux系统中常用的docker镜像命令
  9. 谈谈自己对Spring中IOC和AOP的理解
  10. SLAM系列——机器人顶刊T-RO!用于关联、建图和高级任务的物体级SLAM框架