特定颜色代码的最高和最低颜色

问题描述 投票:0回答:1

我有一个 RGB 颜色代码,我想要最暗的颜色代码和仅适用于该特定颜色代码的浅色代码

RGB 中的颜色代码 id(1,174,240) 我想要这个 RGB 颜色的最暗和最亮的颜色代码,我将在 openCV python 中使用它

python opencv colors
1个回答
0
投票

要查找给定 RGB 颜色的最暗和最亮颜色代码,您可以调整每个 RGB 分量的强度以创建该颜色的较暗和较亮版本。下面是使用 OpenCV 实现此目的的 Python 代码片段:

import numpy as np
import cv2

def get_darkest_lightest_color(rgb):
    # Convert RGB to numpy array
    color = np.uint8([[rgb]])

    # Convert color to HSV for easier manipulation
    hsv_color = cv2.cvtColor(color, cv2.COLOR_RGB2HSV)

    # Extract hue, saturation, and value
    hue = hsv_color[0][0][0]
    saturation = hsv_color[0][0][1]
    value = hsv_color[0][0][2]

    # Create darker version by reducing value
    darkest_value = value * 0.5
    darkest_color = np.array([[[hue, saturation, darkest_value]]], dtype=np.uint8)
    darkest_rgb = cv2.cvtColor(darkest_color, cv2.COLOR_HSV2RGB)

    # Create lighter version by increasing value
    lightest_value = min(value * 1.5, 255)
    lightest_color = np.array([[[hue, saturation, lightest_value]]], dtype=np.uint8)
    lightest_rgb = cv2.cvtColor(lightest_color, cv2.COLOR_HSV2RGB)

    return tuple(darkest_rgb[0][0]), tuple(lightest_rgb[0][0])

# RGB color code
rgb_color = (1, 174, 240)

# Get darkest and lightest color codes
darkest, lightest = get_darkest_lightest_color(rgb_color)

print("Darkest color code:", darkest)
print("Lightest color code:", lightest)

此代码将 RGB 颜色转换为 HSV(色调、饱和度、值)颜色空间。然后,它操纵“值”组件以获得较暗和较亮的颜色版本,同时保持相同的色调和饱和度。最后,它将处理后的颜色转换回 RGB 进行输出。

© www.soinside.com 2019 - 2024. All rights reserved.