cie1931 python绘制_在cie1931颜色空间python 2.7中绘制色域
我想在这些坐标内创建一个ciexyy颜色的三角图:(.119,.113),(.162,.723),(.695,.304),如图中所示-亮度y设置为30.0。
我已经创建了一个XY值介于0-1之间的三维数组。
然后我创建了一个矩阵,其中1在三角形内,0在三角形外。
我把三角形矩阵乘以xyy-ndarray。
然后我循环遍历xyy ndarray并将xyy值转换为rgb,并显示它们。
结果有点接近,但不正确。我想在我转换为rgb的最后一部分中会出现错误,但我不确定原因。这是当前图像:
https://imgur.com/a/7cWY0FI
. 任何建议都会非常感谢。
from __future__ import division
import numpy as np
from colormath.color_objects import sRGBColor, xyYColor
from colormath.color_conversions import convert_color
import matplotlib.pyplot as plt
def frange(x,y,jump):
while x < y:
yield x
x += jump
def onSameSide(p1,p2, A,B):
cp1 = np.cross(B-A, p1-A)
cp2 = np.cross(B-A, p2-A)
if(np.dot(cp1, cp2) >= 0):
return True
else:
return False
def isPointInTriangle(p,A,B,C):
if(onSameSide(p,A,B,C) and onSameSide(p,B,A,C) and onSameSide(p,C,A,B)):
return True
else:
return False
xlen = 400
ylen = 400
#CIExyY colour space
#Make an array (1,1,3) with each plane representing how x,y,Y vary in the coordinate space
ciexyY = np.zeros((3,xlen,ylen))
ciexyY[2,:,:]=30.0
for x in frange(0,1,1/xlen):
ciexyY[0,:,int(xlen*x)]=x
for y in frange(0,1,1/xlen):
ciexyY[1,int(ylen*y),:]=y
#coordinates from Viewpixx gamut, scaled up to 100
blue=np.array((.119,.113,30.0))
green=np.array((.162,.723,30.0))
red=np.array((.695,.304,30.0))
#scale up to size of image
blue = np.multiply(blue,xlen)
green = np.multiply(green,xlen)
red = np.multiply(red,xlen)
#make an array of zeros and ones to plot the shape of Viewpixx triangle
triangleZeros = np.zeros((xlen,ylen))
for x in frange(0,xlen,1):
for y in frange(0,ylen,1):
if(isPointInTriangle((x,y,0),blue,green,red)):
triangleZeros[x,y]=1
else:
triangleZeros[x,y]=0
#cieTriangle
cieTriangle = np.multiply(ciexyY,triangleZeros)
#convert cieTriangle xyY to rgb
rgbTriangle = np.zeros((3,xlen,ylen))
for x in frange(0,xlen,1):
for y in range(0,ylen,1):
xyYcolour = xyYColor(cieTriangle[0,x,y],cieTriangle[1,x,y],cieTriangle[2,x,y])
rgbColour = convert_color(xyYcolour,sRGBColor)
rgbTriangle[0,x,y] = rgbColour.rgb_r
rgbTriangle[1,x,y] = rgbColour.rgb_g
rgbTriangle[2,x,y] = rgbColour.rgb_b
rgbTriangle = np.transpose(rgbTriangle)
plt.imshow(rgbTriangle)
plt.show()
cie1931 python绘制_在cie1931颜色空间python 2.7中绘制色域相关推荐
- 零基础学python 视频_全网最全Python视频教程真正零基础学习Python视频教程 490集...
Python Web开发-进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程 [课程简介] 这是一门Python Web开发进阶课程,手把手教你用Python开发完整的商业 ...
- python tkinter画笑脸_python – 如何在tkinter窗口中绘制图像
如何在tkinter窗口中绘制图像(我使用的是 python 3.3)?我正在寻找一个可以在tkinter窗口的给定位置绘制图像的语句. 是啊- 任何答案将不胜感激.这里是我想要使用代码的程序的源代码 ...
- pythoncookbook和流畅的python对比_为什么你学Python效率比别人慢?因为你没有这套完整的学习资料...
以下资源免费获取方式! 关注!转发!私信"资料"即可免费领取! 入门书籍 1.<Python基础教程>(Beginning Python From Novice to ...
- 全民一起玩python课件_全民一起玩Python课基础+提高篇[免费学习]
全民一玩Python系列由杨洋博士精心制作,面向所有希望学习Python编程.进而能够在学习和工作中编写办公自动化.网页信息提取.数据分析处理.人工智能应用.娱乐游戏应用等实用程序的各行业人士. 制作 ...
- 使用python数据分析_我如何使用Python分析《权力游戏》
使用python数据分析 By Rocky Kev 洛基·凯夫(Rocky Kev) I wanted to learn Python for a long time, but I could nev ...
- 3 x 10的python表达式_这道数学题用PYTHON编程语言怎么写? 编程语言python是用
我觉着,这个应该这样解决比较符合计算机解题思路. 下面的回答的,思考的东西太多. # -*- coding: utf-8 -*- __author__ = 'lpe234' __date__ = '2 ...
- 外星人入侵游戏python学习_外星人入侵:使用Python开发游戏
这是<Python编程:从入门到实践>的第一个实践项目,对应第12-14章,开发了一个简单的小游戏Alien Invasion.虽然对生物狗来说开发游戏这个技能并没有什么用,但初学者用来熟 ...
- 为什么要学python语言_我们为什么要学习Python语言?
原标题:我们为什么要学习Python语言? 聊到我们为什么要学习Python语言?小编不禁又想起大佬潘石屹准备开启Python学习旅程时所发布的微博. 我们为什么要学习Python语言? 在农业社会时 ...
- 下载python步骤_下载及安装Python详细步骤
安装python分三个步骤: *下载python *安装python *检查是否安装成功 1.下载python (1)python下载地址 (2)选择下载的版本 (3)点开download后,找到下载 ...
- ubuntu更改默认python版本_更改Ubuntu默认python版本的方法
1.查看基本信息 # 列出所有已安装python ls /usr/bin/python* #查看默认的 Python 版本信息: python --version 2.基于用户修改 默认Python ...
最新文章
- Github标星86.4K+:常见数据结构与算法的Python实现
- mysql 利用binlog增量备份,还原实例
- C#连接sqlServer数据库详解
- 一个行外人看中国的电子竞技
- 导航第四版-分类专栏
- 终于看到这么贱的星座分析了
- CSS和HTML面试题
- arduino舵机代码_Arduino如何同时使用多个串口
- NYOJ455 - 黑色帽子
- 【2022年战略管理公开课计划】向华为学习 业务领先的战略规划SP(BLM)和战略解码BP(BEM)
- d6u android,天敏D6U_Android4.4.2_SONY BRAVIA_精简优化双启动版
- SAP PS 后台配置
- Landsat系列卫星介绍​
- 如何定义StrokeIt手势 常用StrokeIt手势大全
- 全球顶尖科创和商业巨头齐聚,巨杉数据库亮相2021CNBC全球科技大会
- 苹果退款_苹果如何退款
- MacOS上ESP8266开发板刷microPython教程
- unittest之TestSuite类详解
- 广播风暴原因可能及排除方法
- vscode现在无法连接到扩展商店,请稍后再试
热门文章
- C++编译器优化:Copy Elision
- 展示正在活动时间内的活动,过期活动不显示
- (150)FPGA面试题-Verilog实现2的幂次方乘法运算
- 转载:http://www.zzslxx.com/wmy/jy/Chap02/2.1.1.1.htm
- 机器视觉 飞拍曝光计算
- 为什么vsdebug没有生成obj文件_VS中bin和obj文件引发的问题
- 降噪蓝牙耳机推荐,值得推荐的四款音质好的降噪耳机
- AutoSAR系列讲解(实践篇)8.3-IO相关驱动(中)
- Android App签名
- 数据结构版学生管理系统