我有一个 RGB 颜色代码,我想要最暗的颜色代码和仅适用于该特定颜色代码的浅色代码
RGB 中的颜色代码 id(1,174,240) 我想要这个 RGB 颜色的最暗和最亮的颜色代码,我将在 openCV python 中使用它
要查找给定 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 进行输出。