擅长:python、mysql、java
<p>你所要求的是让颜色之间的距离小于10的像素</p>
<p>在这里,翻译成numpy</p>
<pre><code>img = cv2.imread(img) # assuming rgb image in naming
r = img[:, :, 0]
g = img[:, :, 1]
b = img[:, :, 2]
rg_close = np.abs(r - g) < 10
gb_close = np.abs(g - b) < 10
br_close = np.abs(b - r) < 10
all_close = np.logical_and(np.logical_and(rg_close, gb_close), br_close)
</code></pre>
<p>然而,我相信这不是你真正想要的</p>
<p>我想你想要的是分割背景的面具</p>
<p>这实际上更简单,假设背景是完全白色的:</p>
<pre><code>img = cv2.imread(img)
background_mask = 245 * 3 < img[: ,: ,0] + img[: ,: ,1] + img[: ,: ,2]
</code></pre>
<p>请注意这段代码需要阈值游戏,并且只显示了一个概念</p>