Python 如何计算表示谓词';在'ndarray'的每个元素上的结果是什么?
我有一个RGB图像作为一个Python 如何计算表示谓词';在'ndarray'的每个元素上的结果是什么?,python,opencv,numpy,image-processing,bitvector,Python,Opencv,Numpy,Image Processing,Bitvector,我有一个RGB图像作为一个ndarray,我想计算它的一个紧凑的抽象,作为一个位向量,其中每个元素指示像素是否接近白色。(不需要对该位向量进行dipslay) 我看了参考资料,找出了一些函数。但到目前为止,我只找到了一种简单的方法,可以得到布尔值的ndarray(这比我的意图要多8倍)。 有没有一种直接有效的方法来实现我的目标 到目前为止,我所拥有的: 将numpy导入为np 进口cv2 #大于'128'的灰色为黑色,否则为白色 gray2bw=np.矢量化(λn:n
ndarray
,我想计算它的一个紧凑的抽象,作为一个位向量,其中每个元素指示像素是否接近白色。(不需要对该位向量进行dipslay)
我看了参考资料,找出了一些函数。但到目前为止,我只找到了一种简单的方法,可以得到布尔值的ndarray
(这比我的意图要多8倍)。
有没有一种直接有效的方法来实现我的目标
到目前为止,我所拥有的:
将numpy导入为np
进口cv2
#大于'128'的灰色为黑色,否则为白色
gray2bw=np.矢量化(λn:n<128)
#将RGB图像抽象为黑色/白色
def rgb2bw(图像_rgb):
返回灰度2Bw(cv2.CVT颜色(图像\u rgb,cv2.COLOR\u BGR2GRAY))
你应该知道你的gray2bw
效率很低。只需直接在数组上使用array
,它就会被矢量化。我不知道。谢谢@juanpa.arrivillaga!——我想你应该对结果做packbits
。然而,根据您的用例,这种表示的不切实际性很可能会超过内存节省。