Python colormap库的安装和使用详情


Posted in Python onOctober 06, 2020

colormap库是Python中的一个对颜色进行处理的第三方库,常用于对RGB(red,green,blue三原色的缩写,真彩图像)颜色的转换,生成颜色图等。

pypi文档地址:https://pypi.org/project/colormap/

一、安装colormap

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple easydev
pip install colormap

colormap库依赖于easydev库,需要先安装easydev再安装colormap。

二、获取颜色的RGB元组表示和十六进制表示

# coding=utf-8
from colormap import Color


c = Color('blue')
print(c.rgb)
print(c.hex)
print(c)

运行结果:

(0.0, 0.0, 1.0)
#0000FF
Color Blue
hexa code: #0000FF
RGB code: (0.0, 0.0, 1.0)
RGB code (un-normalised): [0.0, 0.0, 255.0]

HSV code: (0.6666666666666666, 1.0, 1.0)
HSV code: (un-normalised) 240.0 100.0 100.0

HLS code: (0.6666666666666666, 0.5, 1.0)
HLS code: (un-normalised) 240.0 50.0 100.0

实例化一个Color类的颜色对象c,传入需要查看的颜色英文,打印输出颜色对象c的rgb属性即可得到对应的元组表示方法,打印输出颜色对象c的hex属性即可得到对应的十六进制表示方法。直接打印输出颜色对象c,可以同时查看该颜色的各种表示方法。

三、转换颜色的表示方法

from colormap import hex2rgb, rgb2hex


print(rgb2hex(255, 0, 0))
print(hex2rgb('#FF0000'))

运行结果:

#FF0000
(255, 0, 0)

rgb2hex(): 将RGB颜色的元组表示方法转换成十六进制表示方法。

hex2rgb(): 将RGB颜色的十六进制表示方法转换成元组表示方法。

两个方法是互逆的,RGB的元组表示是一个长度为3的元组,每个数字是0~255(2^8 - 1),三个数字的大小分别表示红、绿、蓝,如(255, 0, 0)表示红色。

RGB的十六进制表示是一个以'#'号开头的字符串,'#'后接一个长度为六的十六进制(0~F)数字,每两位表示红、绿、蓝中的一个(00~FF),如‘#FF0000'表示红色。

其他的转换函数不是很常用,有些不能正常使用(如hex2web()和web2hex()),感兴趣可以点进源码看看。

四、创建颜色图

要使用colormap创建颜色图,需要先安装numpy和matplotlib两个库。

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

这两个库都比较大,建议都换成国内的镜像源。colormap自身没有绘图功能,所以生成图像时会去调用numpy和matplotlib。

库安装成功后,开始绘制颜色图。

from colormap import Colormap

c = Colormap()
map = c.cmap_linear('blue', 'white', 'green')
c.test_colormap(map)

运行结果:

Python colormap库的安装和使用详情

实例化一个Colormap类的对象c,用于调用对应的方法生成颜色图。

cmap_linear(): Colormap类中的方法,用于生成三种颜色的渐变图,第一种颜色至第三种颜色的渐变,中间用第二种颜色衔接。传入三种颜色,cmap_linear()方法中会用这三种颜色实例化三个Color类的对象,然后用三个对象生成颜色的渐变,并将渐变的结结果作为一个颜色图对象返回。

test_colormap(): Colormap类中的方法,用于绘制渐变图像。传入需要绘图的颜色图对象,test_colormap()方法中会导入numpy和matplotlib库,生成图像。

如果不实例化Colormap类的对象,也可以直接调用函数生成颜色图。

from colormap import cmap_builder, test_cmap


mycm = cmap_builder('green', 'black', 'blue')
test_cmap(mycm)

运行结果:

Python colormap库的安装和使用详情

cmap_builder(): colormap库中的函数,调用了Colormap类中的cmap_linear()方法。

test_cmap(): colormap库中的函数,调用了Colormap类中的test_colormap()方法。

当然,也可以生成更复杂的颜色图。

from colormap import Colormap


c = Colormap()
d = {'red':  [0, 1, 0, 0, 1, 1, 0, 1],
   'green': [0, 0, 1, 0, 1, 0, 1, 1],
   'blue': [0, 0, 0, 1, 0, 1, 1, 1]}
map = c.cmap(d, reverse=False)
c.test_colormap(map)

运行结果:

Python colormap库的安装和使用详情

cmap(colors=None, reverse=False, N=256): Colormap类中的方法,返回一个colormap的对象,给matplotlib绘图使用。上面用的cmap_linear()方法其实也是调用了cmap()方法。有3个参数。colors表示一组字典类型的RGB颜色参数。reverse表示颜色图的顺序,默认为False(从中心到边缘的顺序与colors的顺序相同),如果改为True则将颜色的顺序刚好相反。N是一个整数,默认256,保持默认即可。

到此这篇关于Python colormap库的安装和使用详情的文章就介绍到这了,更多相关Python colormap库内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python科学计算环境推荐——Anaconda
Jun 30 Python
Python解释执行原理分析
Aug 22 Python
numpy中实现二维数组按照某列、某行排序的方法
Apr 04 Python
python调用百度语音识别api
Aug 30 Python
pandas中apply和transform方法的性能比较及区别介绍
Oct 30 Python
对web.py设置favicon.ico的方法详解
Dec 04 Python
python列表,字典,元组简单用法示例
Jul 11 Python
python 实现让字典的value 成为列表
Dec 16 Python
Python字符串、列表、元组、字典、集合的补充实例详解
Dec 20 Python
Pycharm中切换pytorch的环境和配置的教程详解
Mar 13 Python
Python实现区域填充的示例代码
Feb 03 Python
python实现图片转字符画的完整代码
Feb 21 Python
Django-Scrapy生成后端json接口的方法示例
Oct 06 #Python
Python3如何使用range函数替代xrange函数
Oct 05 #Python
Python threading模块condition原理及运行流程详解
Oct 05 #Python
Python urllib库如何添加headers过程解析
Oct 05 #Python
Python3获取cookie常用三种方案
Oct 05 #Python
Python collections.deque双边队列原理详解
Oct 05 #Python
Python全局变量与global关键字常见错误解决方案
Oct 05 #Python
You might like
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
各种页面定时跳转(倒计时跳转)代码总结
2013/10/24 Javascript
JavaScript中使用Substring删除字符串最后一个字符
2013/11/03 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
JS实现转动随机数抽奖特效代码
2020/04/16 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
2016/07/18 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
微信小程序 小程序制作及动画(animation样式)详解
2017/01/06 Javascript
JS移动端/H5同时选择多张图片上传并使用canvas压缩图片
2017/06/20 Javascript
浅谈原型对象的常用开发模式
2017/07/22 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
webpack多入口多出口的实现方法
2018/08/17 Javascript
vue项目中实现的微信分享功能示例
2019/01/21 Javascript
vue动态子组件的两种实现方式
2019/09/01 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
[06:44]2018DOTA2亚洲邀请赛4.5 SOLO赛 MidOne vs Sumail
2018/04/06 DOTA
python学习笔记之列表(list)与元组(tuple)详解
2017/11/23 Python
Python3学习urllib的使用方法示例
2017/11/29 Python
python中while和for的区别总结
2019/06/28 Python
python脚本调用iftop 统计业务应用流量的思路详解
2019/10/11 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
基于FME使用Python过程图解
2020/05/13 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
2020/11/12 Python
HTML5页面无缝闪开的问题及解决方案
2020/06/11 HTML / CSS
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
美国领先的个性化礼品商城:Personalization Mall
2019/07/27 全球购物
波兰多品牌运动商店:StreetStyle24.pl
2020/09/22 全球购物
早餐连锁店计划书
2014/01/08 职场文书
房屋转让协议书
2014/10/18 职场文书
2015年学生会主席工作总结
2015/04/21 职场文书
活动费用申请报告
2015/05/15 职场文书
python glom模块的使用简介
2021/04/13 Python
微信小程序实现录音Record功能
2021/05/09 Javascript
Python3 类型标注支持操作
2021/06/02 Python
Oracle安装TNS_ADMIN环境变量设置参考
2021/11/01 Oracle
Python 的演示平台支持 WSGI 接口的应用
2022/04/20 Python