gpt4 book ai didi

python - OpenCV 均值中的掩码类型错误

转载 作者:太空狗 更新时间:2023-10-30 02:59:27 24 4
gpt4 key购买 nike

我试图遮盖框架的一个区域,以便获得形状的平均值。我的代码如下:

for h, cnt in enumerate(contours):
mask = np.zeros(source_img.shape, np.uint8)
cv2.drawContours(mask, [cnt], 0, 255, -1)
print mask
print mask.dtype
mean = cv2.mean(source_img, mask=mask)

然而,当运行这段代码时,我得到了error: (-215) mask.empty() || mask.type() == CV_8U in function mean.

包含的打印语句返回它是 uint8。掩码本身的打印会打印出一个值为 0 和 255 的非空 numpy 数组。还有其他关于我哪里出错的想法吗?

最佳答案

菜鸟错误:事实证明,我从中获取形状的源图像是彩色图像,这意味着 source_img.shape() 输出为 (480, 640 , 3)。因此,尽管随后正确设置了掩码类型,但它仍然是一个 3 channel 图像,而它需要是两个 channel 。

通过将 mask 层初始化为:

mask = np.zeros(source_img.shape[:2], np.uint8)

关于python - OpenCV 均值中的掩码类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31564589/

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