gpt4 book ai didi

python - 了解图像中的单一 RGB 颜色,而不是 OpenCV 的范围

转载 作者:太空宇宙 更新时间:2023-11-03 21:07:31 25 4
gpt4 key购买 nike

我正在使用“OpenCV”,我想在图像中显示单一颜色。现在我做了这个,

img = cv2.imread('im02.jpg')

L1 = np.array([255,0,102])
U1 = np.array([255,0,102])

m1 = cv2.inRange(img, L1, U1)

r1 = cv2.bitwise_and(img, img, mask=m1)

#print(r1.any()) #know if all the image is black

cv2.imshow("WM", np.hstack([img, r1]))

这工作正常,但当您需要一系列色调时它会工作。但就我而言,我想知道 RGB 的确切值,当我在低和高范围内写入相同的值时,但我正在努力做得更好,如果没有范围我怎么能做到这一点?

非常感谢。

最佳答案

我想我明白你的问题了。试试这个:

#!/usr/local/bin/python3
import numpy as np
import cv2

# Open image into numpy array
im=cv2.imread('start.png')

# Sought colour
sought = [255,0,102]

# Find all pixels where the 3 RGB values match the sought colour
matches = np.all(im==sought, axis=2)

# Make empty (black) output array same size as input image
result = np.zeros_like(im)

# Make anything matching our sought colour into magenta
result[matches] = [255,0,255]

# Or maybe you want to color the non-matching pixels yellow
result[~matches] = [0,255,255]

# Save result
cv2.imwrite("result.png",result)

start.png 看起来像这样 - 你的颜色介于绿色和蓝色之间:

enter image description here

result.png 看起来像这样:

enter image description here

关于python - 了解图像中的单一 RGB 颜色,而不是 OpenCV 的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54060901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com