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 相关文章推荐
python 图片验证码代码
Dec 07 Python
Python读取mp3中ID3信息的方法
Mar 05 Python
python使用wxPython打开并播放wav文件的方法
Apr 24 Python
python中 chr unichr ord函数的实例详解
Aug 06 Python
Python编程实现微信企业号文本消息推送功能示例
Aug 21 Python
matplotlib中legend位置调整解析
Dec 19 Python
python监控键盘输入实例代码
Feb 09 Python
Python利用PyExecJS库执行JS函数的案例分析
Dec 18 Python
浅谈Pytorch torch.optim优化器个性化的使用
Feb 20 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
Mar 04 Python
Python计算信息熵实例
Jun 18 Python
python中用ggplot绘制画图实例讲解
Jan 26 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数组应该有多大的分析
2009/07/30 PHP
php array_walk() 数组函数
2011/07/12 PHP
php防止sql注入代码实例
2013/12/18 PHP
php几个预定义变量$_SERVER用法小结
2014/11/07 PHP
JQuery 学习笔记 选择器之五
2009/07/23 Javascript
13 个JavaScript 性能提升技巧分享
2012/07/26 Javascript
JavaScript作用域链使用介绍
2013/08/29 Javascript
js操作数据库实现注册和登陆的简单实例
2016/05/26 Javascript
Bootstrap select下拉联动(jQuery cxselect)
2017/01/04 Javascript
JavaScript获取当前时间向前推三个月的方法示例
2017/02/04 Javascript
JS验证字符串功能
2017/02/22 Javascript
bootstrap模态框示例代码分享
2017/05/17 Javascript
基于js中的原型(全面讲解)
2017/09/19 Javascript
Angular实现的简单定时器功能示例
2017/12/28 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
Vue递归实现树形菜单方法实例
2018/11/06 Javascript
微信小程序页面传多个参数跳转页面的实现方法
2019/05/17 Javascript
Laravel 如何在blade文件中使用Vue组件的示例代码
2020/06/28 Javascript
python将MongoDB里的ObjectId转换为时间戳的方法
2015/03/13 Python
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
Django项目实战之用户头像上传与访问的示例
2018/04/21 Python
解决Pycharm出现的部分快捷键无效问题
2018/10/22 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
Python爬虫之爬取淘女郎照片示例详解
2020/07/28 Python
如何在python中判断变量的类型
2020/07/29 Python
html5调用app分享功能示例(WebViewJavascriptBridge)
2018/03/21 HTML / CSS
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
卫校毕业生自我鉴定
2013/10/31 职场文书
留学推荐信写作指南
2014/01/25 职场文书
艺术节主持词
2014/04/02 职场文书
2014年幼儿园教研工作总结
2014/12/04 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书
JS不要再到处使用绝对等于运算符了
2021/04/30 Javascript