首页 > 解决方案 > OpenCV轮廓精确的宽度和长度

问题描述

我试图找出轮廓的确切长度和​​宽度。基本上我想找出划痕和它们的确切长度。参考下图: 在此处输入图片描述

谁能告诉我如何找到这些裂缝的确切厚度。我已经尝试使用 boundingrect() 函数来检索宽度和高度,但这并不能达到目的,因为它对划痕线不准确。我在想是否可以找到绘制轮廓的临时实现,因为 drawcontours() 能够准确地绘制它们。任何人??

标签: pythonopencvopencv-drawcontour

解决方案


我认为没有一种解决方案可以开箱即用地获得您想要的东西,但是由于这些划痕只是两条线彼此非常接近,因此您可能会通过使用弧长功能非常接近您需要的东西轮廓:

perimeter = cv2.arcLength(cnt,True)
length = perimeter / 2;

您可以使用轮廓的其他特征和属性来尝试自己计算确切的长度。像极值点和像素点这样的属性浮现在脑海中。您可以从文档中找到有关这些的更多信息。


推荐阅读