Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 使用openCV过滤掉特定颜色的所有内容_Python 3.x_Opencv_Machine Learning - Fatal编程技术网

Python 3.x 使用openCV过滤掉特定颜色的所有内容

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: 如果你想用它

我有我想分类的建筑物的图片,我想把天空去掉,因为我认为它正在干扰我的分类器。我知道OpenCV有一个名为inRange的函数,它接收图像并将不在您提供的两种颜色范围内的所有内容变黑。我想知道是否有一个函数确实起到了相反的作用。或者用另一种方式我可以实现我想要的


谢谢大家!

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)