gpt4 book ai didi

java - 如何从opencv中的轮廓中提取简单的几何形式

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:18:30 25 4
gpt4 key购买 nike

我有一个 Mat contours,我用 approxPolyDP 逼近了每个 contour。我现在要做的是检测矩形、三角形、圆形等形式。例如用不同的颜色或使用 Canvas 等重新绘制它们。

有没有办法利用轮廓?我如何访问 Mat contours 中的点并进一步简化它们(消除变形,或者如果两个重要点靠得太近,我可以安全地删除其中一个)?

我正在使用 Java (Android) 进行开发,因此并非所有 C/C++ 方法/类型都对我可用(否则 JNI 调用将是一种浪费)。

最佳答案

等高线作为 vector > 等高线返回。您可以通过执行以下操作在 C++ 中轻松访问它们:

vector<vector<Point> > contours;
findContours(..,contours,...);
contours.at(0).at(0) //first point of first contour

如果您使用 Mat 访问它们,那么您将需要测试生成的排列。应该很容易吧,虽然话说回来,JNI 和 android opencv 很痛苦。

关于java - 如何从opencv中的轮廓中提取简单的几何形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9663841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com