我在使用opencv2pythonapi时遇到了一个大问题。不再有单独的OpenCV矩阵类型。每个矩阵实际上都是一个numpy矩阵。到现在为止,一直都还不错。在这些需要特定数据类型的矩阵上调用OpenCV函数时,会出现问题。OpenCV似乎在协调numpy数据类型和OpenCV数据类型方面存在问题。例如,带有np.uint8
的numpy矩阵似乎不被识别为cv_8uc1
。在
下面是一个具体的例子,在尝试对阈值图像进行距离变换时,它出错了:
# threshold operation
val, thr = cv2.threshold(img, 64, 255, cv2.THRESH_BINARY )
# storage matrix for the distance map
map = np.zeros((rows,cols,1), np.uint8)
# attempt to apply distance transform
out = cv2.distanceTransform(thr, cv2.DIST_LABEL_CCOMP, 3, map)
这将产生以下错误:
^{pr2}$thr.dtype
是np.uint8
,所以我不知道为什么会出现这个错误。opencv2是否没有从numpy数据类型映射到相应的OpenCV数据类型?在
我很乐意找到解决这个问题的办法。在
无法复制。。。在
您可以再次检查使用的数据类型。在
^{pr2}$相关问题 更多 >
编程相关推荐