Python实现PS图像调整颜色梯度效果示例


Posted in Python onJanuary 25, 2018

本文实例讲述了Python实现PS图像调整颜色梯度效果。分享给大家供大家参考,具体如下:

这里用 Python 实现 PS 中的色彩图,可以看到颜色的各种渐变,具体的效果可以参考附录说明

和之前的程序相比,这里利用矩阵的运算替代了 for 循环,提升了运行的效率。

import numpy as np
import matplotlib.pyplot as plt
from skimage import io
import numpy.matlib
from skimage import img_as_float
file_name='D:/Visual Effects/PS Algorithm/4.jpg';
img=io.imread(file_name)
img = img_as_float(img)
row, col, channel = img.shape
rNW = 0.5
rNE = 1.0
rSW = 1.0
rSE = 0.0
gNW = 0.0
gNE = 0.5
gSW = 0.0
gSE = 1.0
bNW = 1.0
bNE = 0.0
bSW = 1.0
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
img[:, :, 0] = r
img[:, :, 1] = g
img[:, :, 2] = b
plt.figure(1)
plt.imshow(img)
plt.axis('off');
plt.show();

附录:PS 色调— —颜色梯度

clc;
  clear all;
  close all;
  addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm');
  I=imread('4.jpg');
  Image=double(I)/255;
  [height, width, depth]=size(Image);
  rNW=1.0;   gNW=0.0;  bNW=0.0;
  rNE=1.0;   gNE=1.0;  bNE=0.0;
  rSW=0.0;   gSW=0;   bSW=1.0;
  rSE=0.0;   gSE=1.0;  bSE=0.0;
  Img_new=Image;
  for ii=1:height
    for jj=1:width
      fx = jj / width;
      fy = ii / height;
      p = rNW + (rNE - rNW) * fx;
      q = rSW + (rSE - rSW) * fx;
      r = ( p + (q - p) * fy );
      r = min(max(r, 0), 1);
      p = gNW + (gNE - gNW) * fx;
      q = gSW + (gSE - gSW) * fx;
      g = ( p + (q - p) * fy );
      g = min(max(g, 0) ,1);
      p = bNW + (bNE - bNW) * fx;
      q = bSW + (bSE - bSW) * fx;
      b = ( p + (q - p) * fy );
      b = min(max(b, 0), 1);
      Img_new(ii, jj, 1)=r;
      Img_new(ii, jj, 2)=g;
      Img_new(ii, jj, 3)=b;
    end  
  end
  imshow(Img_new);
  imwrite(Img_new, 'out.jpg');

参考来源:http://www.jhlabs.com/index.html

本例Python运行效果图:

原图:

Python实现PS图像调整颜色梯度效果示例

运行效果:

Python实现PS图像调整颜色梯度效果示例

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

Python 相关文章推荐
web.py中调用文件夹内模板的方法
Aug 26 Python
初学Python实用技巧两则
Aug 29 Python
Python中的各种装饰器详解
Apr 11 Python
浅谈Python 中整型对象的存储问题
May 16 Python
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
Aug 18 Python
机器学习python实战之手写数字识别
Nov 01 Python
python遍历文件夹下所有excel文件
Jan 03 Python
Python实现简单的文本相似度分析操作详解
Jun 16 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
Mar 27 Python
ipython和python区别详解
Jun 26 Python
python3 webp转gif格式的实现示例
Dec 10 Python
2021年最新用于图像处理的Python库总结
Jun 15 Python
Python使用requests发送POST请求实例代码
Jan 25 #Python
python使用pandas实现数据分割实例代码
Jan 25 #Python
python实现闹钟定时播放音乐功能
Jan 25 #Python
python实现壁纸批量下载代码实例
Jan 25 #Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
Jan 24 #Python
Python动刷新抢12306火车票的代码(附源码)
Jan 24 #Python
python中的set实现不重复的排序原理
Jan 24 #Python
You might like
PHP聊天室技术
2006/10/09 PHP
discuz authcode 经典php加密解密函数解析
2020/07/12 PHP
php强制更新图片缓存的方法
2015/02/11 PHP
RSA实现JS前端加密与PHP后端解密功能示例
2019/08/05 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
2020/02/11 PHP
js与运算符和或运算符的妙用
2014/02/14 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
2014/08/30 Javascript
js实现的二级横向菜单条实例
2015/08/22 Javascript
JavaScript拖拽、碰撞、重力及弹性运动实例分析
2016/01/08 Javascript
JavaScript下的时间格式处理函数Date.prototype.format
2016/01/27 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
jquery层级选择器(匹配父元素下的子元素实现代码)
2016/09/05 Javascript
修改ligerui 默认确认按钮的方法
2016/12/27 Javascript
jQuery表单插件ajaxForm实例详解
2017/01/17 Javascript
vue2+el-menu实现路由跳转及当前项的设置方法实例
2017/11/07 Javascript
Javascript通过控制类名更改样式
2019/05/24 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
[01:11:48]Fnatic vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[05:49]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS 选手采访
2021/03/11 DOTA
python 数据的清理行为实例详解
2017/07/12 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
numpy.random模块用法总结
2019/05/27 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
2020/02/12 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
Keras 快速解决OOM超内存的问题
2020/06/11 Python
python求解汉诺塔游戏
2020/07/09 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
印度民族服装购物网站:BIBA
2019/08/05 全球购物
幼儿教师师德演讲稿
2014/05/06 职场文书
情况说明书格式范文
2014/05/06 职场文书
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python
python基础之文件处理知识总结
2021/05/23 Python
django 认证类配置实现
2021/11/11 Python
MySQL的意向共享锁、意向排它锁和死锁
2022/07/15 MySQL