# 图片路径
image1_path = r'D:\desktop\xiaoxxiaole\sucai\G.png'  # 替换为第一张图片的实际路径
image2_path = r'D:\desktop\xiaoxxiaole\split_result\5_9.png'  # 替换为第二张图片的实际路径

from PIL import Image
import numpy as np

def get_dominant_color(image_path):
    # 打开图片文件
    with Image.open(image_path) as img:
        # 将图片转换为RGB模式
        img = img.convert('RGB')
        
        # 将图片转换为numpy数组
        np_img = np.array(img)
        
        # 重塑数组以得到形状为 (像素数量, 颜色通道) 的二维数组
        pixels = np_img.reshape(-1, 3)
        
        # 计算每种颜色的频率
        colors, counts = np.unique(pixels, axis=0, return_counts=True)
        
        # 获取出现次数最多的颜色索引
        dominant_color_index = np.argmax(counts)
        
        # 返回主导颜色
        return tuple(colors[dominant_color_index])

def are_colors_similar(color1, color2, threshold=5):
    # 确保颜色值以有符号整数形式进行比较
    color1 = np.array(color1, dtype=np.int16)
    color2 = np.array(color2, dtype=np.int16)
    return all(abs(c1 - c2) <= threshold for c1, c2 in zip(color1, color2))

def compare_dominant_colors(image1_path, image2_path):
    dominant_color1 = get_dominant_color(image1_path)
    dominant_color2 = get_dominant_color(image2_path)
    print(f"主导颜色: {dominant_color1},{dominant_color2}")
    if are_colors_similar(dominant_color1, dominant_color2):
        print("similar.")
    else:
        print("not similar")

compare_dominant_colors(image1_path, image2_path)
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐