我目前正在尝试使用 OpenCV 确定我们的输出图像与使用 Python 绘制的莫奈画之间的色差。
通过我的研究,我发现 Delta E 是确定色差的最佳选择。我尝试使用提取两个图像的 BGR 通道,然后采用用于计算每个颜色通道差异的平均“蓝色”、“绿色”和“红色”颜色。
output_chans = cv2.split(image)
monet_chans = cv2.split(best_painting)
colors = ("Blue", "Green", "Red")
for (output_chan, monet_chan, color) in zip(output_chans, monet_chans, colors):
output_mean = np.mean(output_chan)
monet_mean = np.mean(monet_chan)
color1_rgb = None
color2_rgb = None
if color == "Blue":
color1_rgb = sRGBColor(0.0, 0.0, output_mean)
color2_rgb = sRGBColor(0.0, 0.0, monet_mean)
elif color == "Green":
color1_rgb = sRGBColor(0.0, output_mean, 0.0);
color2_rgb = sRGBColor(0.0, monet_mean, 0.0);
elif color == "Red":
color1_rgb = sRGBColor(output_mean, 0.0, 0.0);
color2_rgb …Run Code Online (Sandbox Code Playgroud)