图像处理:查找到达图像边界的图像轮廓

问题描述

我正在尝试计算图像中线条的粗糙度,并相信 cv2.convexHull 和 cv2.convexivityDefects 是要走的路。我遇到的问题是无法将线条收集到轮廓中,因为它们超出了图像边界。下面是原始图像和我能够从中形成的边缘。即使它们是开放的,有没有办法关闭形状或制作轮廓?或者有没有更好的方法来寻找粗糙度?

澄清一下,这些是我目前正在尝试使用的功能。我是图像处理的新手,所以我不知道哪些模块可以在这里提供帮助。

cnts = cv2.findContours(edges.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
hull = cv2.convexHull(cnt,returnPoints=True)
hullDefects = cv2.convexHull(cnt,returnPoints=False)
spiralDefects = cv2.convexityDefects(cnt,hullDefects)

Original Image

Edges plot

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...