gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 09:40:32 24 4
gpt4 key购买 nike

我有想要分类的建筑物图片,并且我想去掉天空,因为我认为它扰乱了我的分类器。我知道 OpenCV 有一个名为 inRange 的函数,它接收图像并将不在您提供的两个颜色边界范围内的所有内容涂黑。我想知道是否有一个函数实际上起到了相反的作用。或者我可以用另一种方式来完成我想要的事情。

谢谢!

最佳答案

cv2.InRange 创建一个掩码,这基本上意味着它创建一个相同大小的图像,其中范围内的像素值为 255,范围外的值为 0。

https://docs.opencv.org/2.4/modules/core/doc/operations_on_arrays.html#void%20inRange(InputArray%20src,%20InputArray%20lowerb,%20InputArray%20upperb,%20OutputArray%20dst)

如果您想得到相反的结果,您可以获取cv2.inRange的输出并执行bitwise_not:

https://docs.opencv.org/2.4/modules/core/doc/operations_on_arrays.html#bitwise-not

如果您想用它来遮蔽原始图像中的像素,您可以执行bitwise_and:

https://docs.opencv.org/2.4/modules/core/doc/operations_on_arrays.html#bitwise-and

所以我会做这样的事情:

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)

关于python-3.x - 使用 openCV 过滤掉特定颜色的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59012898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com