【发布时间】:2020-05-19 18:18:33
【问题描述】:
假设我有一个彩色图像 img,定义如下。我有 R、G 和 B 的范围值:R1、R2、B1 等等...
如果满足以下条件,现在我想将图像的所有 RGB 值设置为 [255, 0, 0] [(R1 > R & R G & G B & B
我可以通过循环到图像的所有 RGB 值来做到这一点,但我不想那样做。有没有一种方法可以让我以 NumPyish 的方式实现这个?或者实现这一点的最佳方法是什么?
img = cv2.imread(file)
R1 = 91
R2 = 150
G1 = 10
G2 = 100
B1 = 100
B2 = 150
【问题讨论】:
-
你将使用某种循环,即使它是 numpy 为你做的。
-
最佳方法是使用
inRange()learnopencv.com/color-spaces-in-opencv-cpp-python - 特别是因为您已经在使用OpenCV。