cv2.distanceTransform()
计算源图像的每个像素到最临近零像素的距离
dst = cv2.distanceTransform(src,distanceType,makeSize[,dst[,dstType]])
参数
- src:8位、单通道(二进制)源图像
- DST:输出具有计算距离的图像。它是一个8位或32位浮点单通道图像,大小与src相同
- distanceType:距离类型
类型 | 描述 | ||||
---|---|---|---|---|---|
cv2.DIST_USER | 用户自定义距离 | ||||
cv2.DIST_L1 | distance=\ | x1-x2\ | +\ | y1-y2\ | |
cv2.DIST_L2 | 简单的欧几里德距离 | ||||
cv2.DIST_C | distance=max(\ | x1-x2\ | ,\ | y1-y2\ | ) |
cv2.DIST_L12 | distance=2(sqrt(1+x*X/2)-1)) | ||||
cv2.DIST_FAIR | distance=c^2(\ | x\ | /c-log(1+\ | x\ | /c)),c=1.3998 |
cv2.DIST_WELSCH | distance=c\^2/2(1-exp(-(x/c)^2)),c=2. | ||||
cv2.DIST_HUBER | distance=\ | x\ | <c?x^2/2:c(\ | x\ | -c/2),c=1.345 |
- makeSize:距离变换蒙版的大小。在cv2.DIST_L1或cv2.DIST_C距离类型的情况下,参数被强制为3。
参考网址:
https://docs.opencv.org/3.4.3/d7/d1b/group__imgproc__misc.html#ga8a0b7fdfcb7a13dde018988ba3a43042