opencv - 分离图像中的四边形
问题描述
在这里,我在图像中有一些四边形,现在我想将它们分成一个四边形。这是四边形
quads的图像,每个像这样的形状我称为四边形(四边形由 4 个点组成)。鉴于我已经有了每个线段的坐标。对于每条线,我都有它们的 2 个端点,但我不知道哪一点是端点 1 或端点 2端点。如果两条线相交,我也有它们的角坐标。
所以总的来说,我有 3 个列表:
- 端点 1 坐标列表
- 端点 2 坐标列表
- 2 条线相交时的角坐标
列表端点 1 的列表和端点 2 的列表的范围相同,但与角的列表不同。
你能给我一些建议来分离四边形吗?这是我想要达到的结果
我尝试过的:
我尝试为每个四边形获取 4 个坐标:
- 对于端点 1 中的 i:
-对于角中的 j:检查点 1 或点 2 是否靠近角,然后我有 2 个点用于四边形检查点 1 或 2 是否靠近角
-对于端点 2 中的 z(或端点1 是可以的,因为它们具有相同的范围):找到一条通过角点和点 2 或点 1 的线,如果角点属于这条线,那么我将得到四边形的第三个点。
-for g in endpoint 2: 检查第 3 点是否接近第 1 点:则第 4 点 = 第 2 点,否则 = 第 1 点。
如您所见,for 循环非常多,甚至不起作用。如果您有任何想法或建议,请帮助
编辑:这是输入图像输入图像
解决方案
推荐阅读
- rstudio - 将 csv 文件加载到 Rstudio 中的 Spark DataFrame 时发生错误
- python-3.x - 在 for 循环 Python 中结束
- flutter - 在 Flutter webview 中拦截 AJAX 适用于 iOS 但不适用于 Android
- clojure - 如何在 deps.edn 项目中使用 cljsjs 包
- javascript - 是否可以通过免费帐户使用 firebase 进行网络抓取?
- sql-server - TSql 前面的反斜杠更改列值
- linux - 仅当行不存在时,如何将一行添加到不同子目录下的多个文本文件?
- arrays - 如何将数组值存储在 Postman 的环境变量中
- python - 使用 Bokeh 绘图时如何为多个数据集之一添加悬停工具
- java - 用 Java 调试我的字母等级计算器