【发布时间】:2017-05-11 00:19:08
【问题描述】:
我有一系列同心矩形,并希望获得外部矩形排除内部矩形的手段。见附图,我需要得到阴影区域的平均值。
所以我使用内部矩形的掩码传递给cv2.mean 方法,但我不确定如何设置掩码。我有以下代码:
for i in xrange(0,len(wins)-2,1):
means_1 = cv2.mean(wins[i])[0]
msk = cv2.bitwise_and(np.ones_like((wins[i+1]), np.uint8),np.zeros_like((wins[i]), np.uint8))
means_2 = cv2.mean(wins[i+1],mask=msk)
means_3 = cv2.mean(wins[i+1])[0]
print means_1,means_2,means_3
means_2 出现此错误(means_3 工作正常)。:
错误: /Users/jenkins/miniconda/0/2.7/conda-bld/work/opencv-2.4.11/modules/core/src/arithm.cpp:1021: 错误:(-209)该操作既不是“数组操作数组”(其中数组 具有相同的大小和类型),也不是“数组操作标量”,也不是“标量操作” 函数 binary_op 中的数组'
【问题讨论】:
-
然后做一些调试。您传递给
bitwise_and的两个数组的大小是多少? (我认为这就是错误的来源,因为您切断了堆栈跟踪)如果您不提供完整的、可重现的示例,那么没有人可以为您做到。
标签: python-2.7 opencv image-processing computer-vision