Python 3.x 使用openCV过滤掉特定颜色的所有内容
我有我想分类的建筑物的图片,我想把天空去掉,因为我认为它正在干扰我的分类器。我知道OpenCV有一个名为inRange的函数,它接收图像并将不在您提供的两种颜色范围内的所有内容变黑。我想知道是否有一个函数确实起到了相反的作用。或者用另一种方式我可以实现我想要的Python 3.x 使用openCV过滤掉特定颜色的所有内容,python-3.x,opencv,machine-learning,Python 3.x,Opencv,Machine Learning,我有我想分类的建筑物的图片,我想把天空去掉,因为我认为它正在干扰我的分类器。我知道OpenCV有一个名为inRange的函数,它接收图像并将不在您提供的两种颜色范围内的所有内容变黑。我想知道是否有一个函数确实起到了相反的作用。或者用另一种方式我可以实现我想要的 谢谢大家! cv2.InRange创建一个遮罩,这基本上意味着它创建一个大小相同的图像,其中范围内的像素值为255,范围外的值为0 如果您想得到与此相反的结果,可以获取cv2.inRange的输出并执行按位\u not: 如果你想用它
谢谢大家!
cv2.InRange
创建一个遮罩,这基本上意味着它创建一个大小相同的图像,其中范围内的像素值为255,范围外的值为0
如果您想得到与此相反的结果,可以获取cv2.inRange
的输出并执行按位\u not
:
如果你想用它来遮住原始图像中的像素,你可以做一个位\u和:
所以我会做一些类似的事情:
mask = cv2.inRange(img, (255, 0, 0), (100, 0, 0)) # modify your thresholds
inv_mask = cv2.bitwise_not(mask)
no_sky = cv2.bitwise_and(img, inv_mask)