gpt4 book ai didi

python - 在opencv python中将颜色从黑色反转为白色

转载 作者:太空宇宙 更新时间:2023-11-03 21:29:02 24 4
gpt4 key购买 nike

我有一个条件,我想检测黑色背景的白线和白色背景的黑线。我使用了类似这样的 bitwise_not 操作:

cv2.bitwise_not(mask_black)

除非我给出这样的条件,否则它工作得很好:

if mask_black == cv2.bitwise_not(mask_black):

我得到一个错误

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

我对使用条件有疑问,如果出现黑色背景,则检测白线,如果出现白色背景,则检测黑线

mask_black = cv2.inRange(hsv, low_black, high_black)
mask_not=cv2.bitwise_not(mask_black)

if mask_black==cv2.bitwise_and(mask_black, mask_not):
body
else:
body

返回上面的错误

最佳答案

想法是使用 cv2.countNonZero() 检查白色像素的背景。我们设定了一个阈值,比如 50%。如果超过 50% 的背景是白色像素,则意味着我们正在寻找黑线。同样,如果大部分背景是黑色的,那么我们正在寻找白线。

import cv2

image = cv2.imread('1.png', 0)
w, h = image.shape[:2]

if cv2.countNonZero(image) > ((w*h)//2):
# Detect black line
...
else:
# Detect white line
...

要反转图像,你可以这样做

invert = cv2.bitwise_not(image) # OR
#invert = 255 - image

关于python - 在opencv python中将颜色从黑色反转为白色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58142214/

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