我正在尝试遮盖框架的某个区域,以便获得形状的均值。我的代码如下:
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)
Run Code Online (Sandbox Code Playgroud)
但是,运行此代码时,我得到了error: (-215) mask.empty() || mask.type() == CV_8U in function mean。
包含的打印语句回来了uint8。蒙版本身的打印会打印出一个非空的numpy数组,其值分别为0和255。关于我要去哪里的问题还有其他想法吗?
新秀错误:事实证明,我采用的形状的源图像是彩色图像,这意味着要显示source_img.shape()出来(480, 640, 3)。因此,尽管随后正确设置了遮罩的类型,但当需要为两个时,它仍然是3通道图像。
通过将蒙版层初始化为:
mask = np.zeros(source_img.shape[:2], np.uint8)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1670 次 |
| 最近记录: |