gpt4 book ai didi

python - opencv:使用 r>b>g 提取像素

转载 作者:太空宇宙 更新时间:2023-11-03 22:07:09 25 4
gpt4 key购买 nike

我正在尝试使用 python 中的 opencv 从图像中仅提取带有 r>b>g 的像素。我不想使用 .split() 因为它太慢了。有人可以帮助我吗?

我试过这样的事情:(但太慢了)

b,g,r = cv2.split(resized)

ma1 = np.logical_or(r>b,b>g)

编辑,我想做这样的事情:

img[img[2]>img[1] and  img[1]>img[0]]=0

最佳答案

我不确定这是否给出了预期的结果,但这对我来说没有错误

img = cv2.imread(...)

img[ (img[:,:,2] > img[:,:,1]) & (img[:,:,1] > img[:,:,0]) ] = 0

cv2.imshow('image', img)

我不必拆分它。

因为 cv2 使用 BGR 而不是 RGB 所以我不得不以不同的顺序进行比较。

我可以使用

转换为 RGB
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

但是我必须将它转换回 BGR 才能显示它。


顺便说一句:cv2 使用 numpy 数组来保存 img

print( type(img) )

<class 'numpy.ndarray'>

关于python - opencv:使用 r>b>g 提取像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58085439/

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