【发布时间】:2020-01-24 21:09:07
【问题描述】:
我正在尝试在 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
【问题讨论】:
-
为什么不use numpy directly?
-
如果不使用 for 循环,我找不到如何比较数组中每个元组的元素。
-
图片具有这种形状:img =[ (blue,green,red), (blue,green,red) , ... ] 并且在 numpy 文档中找不到如何做到这一点。
-
为了更清楚,我想做这样的事情:img[img[2]>img[1] and img[1]>img[0]]=0
标签: python opencv image-processing mask