显示产品的开发过程中,经常会需要计算显示器的色域,因此写了一个小工具来计算给定色坐标的色域。
#计算多边形交叠面积函数
from shapely.geometry import Polygon # 多边形
from xlrd import open_workbook
def Cal_area_2poly(data1,data2):
"""
任意两个图形的相交面积的计算
:return: 两个凸多边形交叠面积
"""
poly1 = Polygon(data1).convex_hull # Polygon:多边形对象
poly2 = Polygon(data2).convex_hull
if not poly1.intersects(poly2):
inter_area = 0 # 如果两四边形不相交
else:
inter_area = poly1.intersection(poly2).area # 相交面积
return inter_area
def Read_area_point():
'读取色域空间坐标'
book = open_workbook('gamut.xlsx')
sheet1 = book.sheets()[0]
xy1=sheet1.row_values(1, 0, 2)
xy2=sheet1.row_values(2, 0, 2)
xy3=sheet1.row_values(3, 0, 2)
dataxy1=sheet1.row_values(1, 2, 4)
dataxy2=sheet1.row_values(2, 2, 4)
dataxy3=sheet1.row_values(3, 2, 4)
data1=[xy1,xy2,xy3]
data2=[dat