擅长:python、mysql、java
<p>对于形状(M,N)为numpy,大小为MxN且OpenCV中只有一个通道的灰度图像,<code>cv2.inRange</code>采用标量边界:</p>
<pre><code>gray = cv2.imread(filename, cv2.CV_LOAD_IMAGE_GRAYSCALE)
gray_filtered = cv2.inRange(gray, 190, 255)
</code></pre>
<p>但是对于在numpy中具有形状(M,N,3)和在OpenCV中具有三个通道的大小MxN的RGB图像,您需要使边界与“通道大小”匹配。</p>
<pre><code>rgb = cv2.imread(filename, cv2.CV_LOAD_IMAGE_COLOR)
rgb_filtered = cv2.inRange(gray, (190, 190, 190), (255, 255, 255))
</code></pre>
<p>这在<a href="http://docs.opencv.org/modules/core/doc/operations_on_arrays.html#inrange" rel="noreferrer">documentation</a>中有解释,尽管不是很清楚。</p>