我想在这些坐标内创建一个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中绘制色域相关推荐

  1. 零基础学python 视频_全网最全Python视频教程真正零基础学习Python视频教程 490集...

    Python Web开发-进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程 [课程简介] 这是一门Python Web开发进阶课程,手把手教你用Python开发完整的商业 ...

  2. python tkinter画笑脸_python – 如何在tkinter窗口中绘制图像

    如何在tkinter窗口中绘制图像(我使用的是 python 3.3)?我正在寻找一个可以在tkinter窗口的给定位置绘制图像的语句. 是啊- 任何答案将不胜感激.这里是我想要使用代码的程序的源代码 ...

  3. pythoncookbook和流畅的python对比_为什么你学Python效率比别人慢?因为你没有这套完整的学习资料...

    以下资源免费获取方式! 关注!转发!私信"资料"即可免费领取! 入门书籍 1.<Python基础教程>(Beginning Python From Novice to ...

  4. 全民一起玩python课件_全民一起玩Python课基础+提高篇[免费学习]

    全民一玩Python系列由杨洋博士精心制作,面向所有希望学习Python编程.进而能够在学习和工作中编写办公自动化.网页信息提取.数据分析处理.人工智能应用.娱乐游戏应用等实用程序的各行业人士. 制作 ...

  5. 使用python数据分析_我如何使用Python分析《权力游戏》

    使用python数据分析 By Rocky Kev 洛基·凯夫(Rocky Kev) I wanted to learn Python for a long time, but I could nev ...

  6. 3 x 10的python表达式_这道数学题用PYTHON编程语言怎么写? 编程语言python是用

    我觉着,这个应该这样解决比较符合计算机解题思路. 下面的回答的,思考的东西太多. # -*- coding: utf-8 -*- __author__ = 'lpe234' __date__ = '2 ...

  7. 外星人入侵游戏python学习_外星人入侵:使用Python开发游戏

    这是<Python编程:从入门到实践>的第一个实践项目,对应第12-14章,开发了一个简单的小游戏Alien Invasion.虽然对生物狗来说开发游戏这个技能并没有什么用,但初学者用来熟 ...

  8. 为什么要学python语言_我们为什么要学习Python语言?

    原标题:我们为什么要学习Python语言? 聊到我们为什么要学习Python语言?小编不禁又想起大佬潘石屹准备开启Python学习旅程时所发布的微博. 我们为什么要学习Python语言? 在农业社会时 ...

  9. 下载python步骤_下载及安装Python详细步骤

    安装python分三个步骤: *下载python *安装python *检查是否安装成功 1.下载python (1)python下载地址 (2)选择下载的版本 (3)点开download后,找到下载 ...

  10. ubuntu更改默认python版本_更改Ubuntu默认python版本的方法

    1.查看基本信息 # 列出所有已安装python ls /usr/bin/python* #查看默认的 Python 版本信息: python --version 2.基于用户修改 默认Python ...

最新文章

  1. Github标星86.4K+:常见数据结构与算法的Python实现
  2. mysql 利用binlog增量备份,还原实例
  3. C#连接sqlServer数据库详解
  4. 一个行外人看中国的电子竞技
  5. 导航第四版-分类专栏
  6. 终于看到这么贱的星座分析了
  7. CSS和HTML面试题
  8. arduino舵机代码_Arduino如何同时使用多个串口
  9. NYOJ455 - 黑色帽子
  10. 【2022年战略管理公开课计划】向华为学习 业务领先的战略规划SP(BLM)和战略解码BP(BEM)
  11. d6u android,天敏D6U_Android4.4.2_SONY BRAVIA_精简优化双启动版
  12. SAP PS 后台配置
  13. Landsat系列卫星介绍​
  14. 如何定义StrokeIt手势 常用StrokeIt手势大全
  15. 全球顶尖科创和商业巨头齐聚,巨杉数据库亮相2021CNBC全球科技大会
  16. 苹果退款_苹果如何退款
  17. MacOS上ESP8266开发板刷microPython教程
  18. unittest之TestSuite类详解
  19. 广播风暴原因可能及排除方法
  20. vscode现在无法连接到扩展商店,请稍后再试

热门文章

  1. C++编译器优化:Copy Elision
  2. 展示正在活动时间内的活动,过期活动不显示
  3. (150)FPGA面试题-Verilog实现2的幂次方乘法运算
  4. 转载:http://www.zzslxx.com/wmy/jy/Chap02/2.1.1.1.htm
  5. 机器视觉 飞拍曝光计算
  6. 为什么vsdebug没有生成obj文件_VS中bin和obj文件引发的问题
  7. 降噪蓝牙耳机推荐,值得推荐的四款音质好的降噪耳机
  8. AutoSAR系列讲解(实践篇)8.3-IO相关驱动(中)
  9. Android App签名
  10. 数据结构版学生管理系统