颜色模型工具

colorio的Python项目详细描述


colorio

用于颜色模型的工具。

CircleCIcodecovCode style: blackcolorfulPyPi VersionDOIGitHub stars

colorio中的所有方法都是完全矢量化的。

颜色空间

所有颜色空间都实现这两种方法

vals=colorspace.from_xyz100(xyz)xyz=colorspace.to_xyz100(vals)

用于从XYZ100转换到XYZ100。添加新的颜色空间就像 编写提供这两种方法的类。

实现了以下颜色空间:

  • XYZcolorio.XYZ()
  • xyYcolorio.XYY()
  • Linear SRGBcolorio.SrgbLinear()) 这个类有两个附加方法
    from_srgb1()
    to_srgb1()
    
    用于从标准RGB转换到标准RGB。
  • HSL and HSVcolorio.HSL()colorio.HSV()) 这些类有两个方法
    from_srgb1()
    to_srgb1()
    
    用于从标准RGB转换到标准RGB。
  • CIELABcolorio.CIELAB()
  • CIELUVcolorio.CIELUV()
  • ICtCpcolorio.ICtCp()
  • IPTcolorio.IPT()
  • CIECAM02 / CAM02-UCS
    importcolorioL_A=64/numpy.pi/5ciecam02=colorio.CIECAM02(0.69,20,L_A)cam02=colorio.CAM02('UCS',0.69,20,L_A)
    该实现包含对ciecam02规范的一些改进(参见 here)。
  • CAM16 / CAM16-UCS
    L_A=64/numpy.pi/5cam16=colorio.CAM16(0.69,20,L_A)cam16ucs=colorio.CAM16UCS(0.69,20,L_A)
    与cam16相比,该实现包含了一些改进 规格(见here)。
  • Jzazbzcolorio.JzAzBz()

工具

colorio为分析和可视化颜色空间提供了许多有用的工具。

可视化srgb范围

srgb色域是srgb空间中一个完美的立方体,在翻译时会呈现出奇怪的形状。 进入其他颜色空间。上图显示了xyz空间中的srgb色域。形象 数据是用

importcoloriocolorspace=colorio.CIELAB()colorspace.save_srgb_gamut(colorspace,"srgb.vtk",n=50,cut_000=False)# The HDR (Rec.2100, Rec.2020) gamut works the same waycolorspace.save_hdr_gamut(colorspace,"hdr.vtk",n=50,cut_000=False)

然后可以打开VTK文件 例如,在Paraview中,以下说明适用:

  1. 在paraview中打开文件,并在properties选项卡中执行以下步骤 在左边。
  2. apply按钮。
  3. 着色部分下,将Solid Color更改为srgb
  4. 如有必要,按下搜索区域右侧的齿轮按钮以激活 高级选项。
  5. 标量着色部分下,取消选中映射标量

更多图像是in the gh-pages branch

数据可以用 meshio。(您可能需要安装其他 某些格式的软件包。)

可视化可见色域

同上,但在给定的光源下,色域是可见的。

colorspace=colorio.XYZ()illuminant=colorio.illuminants.d65()observer=colorio.observers.cie_1931_2()colorspace.save_visible_gamut(colorspace,observer,illuminant,"visible.vtk")

色域显示为灰色,因为srgb屏幕无论如何都无法显示颜色。

XY色域

用X{A25}和SRGB颜色显示XY中的经典可见色域(最大值) 光度)。

colorio.show_xy_gamut()

显示实验数据

colorio包含了大量的实验数据集,其中一些可以用来评估 颜色空间的某些性质。

碎石

著名的碎石椭圆(来自this article)可以用

colorio.show_macadam(scaling=10,plot_filter_positions=False,plot_standard_deviations=False)
艾布纳费尔柴尔德

例如

colorspace=colorio.JzAzBz()colorspace.show_ebner_fairchild()

显示azbz平面中the Ebner-Fairchild experiments的恒定色调数据 在jzazbz颜色空间中。(理想情况下,所有颜色在一个 坐在一条线上。)

洪伯纳斯

同样适用于Hung-Berns

colorspace=colorio.JzAzBz()colorspace.show_hung_berns()
肖等人

同样适用于Xiao et al.

colorspace=colorio.CIELAB()colorspace.show_xiao()
孟塞尔

Munsell color data通过

colorspace=colorio.CIELUV()colorspace.show_munsell(V=5)

要简单地检索xyy格式的munsell数据,请使用

h,V,C,xyy=colorio.get_munsell_data()

色差

任何空间的色差都可以用colorio.delta(a, b)来计算。

安装

颜色是available from the Python Package Index, 所以只要使用

pip3 install colorio --user

安装。

测试

要运行测试,只需签出此存储库并运行

pytest

许可证

colorio发布在MIT license下。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在通配符泛型类型和泛型类型之间未经检查的强制转换   java Eclipse SWT Hello world教程:无法将显示解析为类型   java如何向远程用户发送注销消息?   java RDD之后的空文件是什么。保存ASTEXTFILE?   用户界面在java中创建一个htmljs UI GCalendar   Java多个哈希映射指向同一个键   Java Dowhile循环不工作?   oraclejava类。组织。阿帕奇。梁sdk。util。UserCodeException:java。sql。SQLException:无法创建PoolableConnectionFactory   java是org类型。日食用户界面。文本编辑器。*看不见   java有没有从弹出窗口复制eclipse中变量值的插件或快捷方式?   java getSubimage为我提供了期望值null   java我想让它变得更简单   swing AWTEventQueue0一直在运行,java中的程序变得非常慢   java Solr实例化类时出错:自定义类   java将ListView适配器移植到RecyclerView适配器   c#测试混合web和桌面应用程序的安全性