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实现Floyd算法
Jan 03 Python
解决Python pandas df 写入excel 出现的问题
Jul 04 Python
python语音识别实践之百度语音API
Aug 30 Python
Python实现常见的回文字符串算法
Nov 14 Python
python pandas写入excel文件的方法示例
Jun 25 Python
基于python-opencv3的图像显示和保存操作
Jun 27 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
Jul 15 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
Jul 16 Python
浅析pandas 数据结构中的DataFrame
Oct 12 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
Jun 22 Python
Python Selenium自动化获取页面信息的方法
Aug 31 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
Dec 18 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
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
PHP include_path设置技巧分享
2011/07/03 PHP
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
2012/05/29 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
2015/12/10 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
2016/11/05 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
JS实现模拟风力的雪花飘落效果
2015/05/13 Javascript
JS中递归函数
2016/06/17 Javascript
JavaScript中清空数组的方法总结
2016/12/02 Javascript
浅谈JavaScript异步编程
2017/01/20 Javascript
js实现多行文本框统计剩余字数功能
2017/03/28 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
2017/05/18 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
如何在项目中使用log4.js的方法步骤
2019/07/16 Javascript
JavaScript实现随机五位数验证码
2019/09/27 Javascript
js绘制一条直线并旋转45度
2020/08/21 Javascript
js实现批量删除功能
2020/08/27 Javascript
Python实现将sqlite数据库导出转成Excel(xls)表的方法
2017/07/17 Python
Python 元类实例解析
2018/04/04 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
pandas中ix的使用详细讲解
2020/03/09 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
AmazeUI的下载配置与Helloworld的实现
2020/08/19 HTML / CSS
J.Crew官网:美国知名休闲服装品牌
2017/05/19 全球购物
Europcar西班牙:全球汽车租赁领域的领导者
2018/09/17 全球购物
销售文员的岗位职责
2013/11/20 职场文书
导游实习生自荐书
2014/01/28 职场文书
竞赛口号大全
2014/06/16 职场文书
环保公益策划方案
2014/08/15 职场文书
教师群众路线教育实践活动学习笔记
2014/11/05 职场文书
先进工作者推荐材料
2014/12/23 职场文书
2014年度考核工作总结
2014/12/24 职场文书
签订劳动合同通知书
2015/04/16 职场文书
2019旅游导游工作总结
2019/06/27 职场文书
记一次Mysql不走日期字段索引的原因小结
2021/10/24 MySQL
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技