cv2.inRange
时间: 2024-05-07 14:19:38 浏览: 195
cv2
cv2.inRange是OpenCV中的一个函数,用于在给定范围内对像素进行二值化。该函数接受三个参数:输入图像、颜色范围的下限和上限。它返回一个二进制掩码,该掩码包含位于指定颜色范围内的像素。
例如,如果我们想要提取一张图片中所有红色的部分,我们可以使用以下代码:
```
import cv2
img = cv2.imread('image.jpg')
# 定义红色的范围
lower_red = (0, 0, 100)
upper_red = (100, 100, 255)
# 将图片进行二值化
mask = cv2.inRange(img, lower_red, upper_red)
# 通过位运算提取红色部分
res = cv2.bitwise_and(img, img, mask=mask)
# 显示结果
cv2.imshow('image', img)
cv2.imshow('mask', mask)
cv2.imshow('res', res)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这里我们将红色的范围定义为BGR格式下的(0, 0, 100)到(100, 100, 255),然后将图片进行二值化,得到一个二进制掩码。接着我们使用位运算(cv2.bitwise_and)来提取红色部分,最终将结果显示出来。
阅读全文