我正在使用Android OpenCV。我有一个方形标记图像。我必须找到实时Feed中标记四个角的位置及其索引位置。我能够在帧大小为640 * 480的实时馈送中获得这四个点的位置。但是索引位置的问题并没有固定,有时候我在左上角位置得到第0个索引,有时在该位置得到第1个索引......如何解决这个问题或者是否有替代findContour()方法。
答案 0 :(得分:1)
如果形状是四边形,则可以使用角点排序方法:
1-获得群众中心。
2- y轴低于质心的点是最高点,否则它们是底点。
3-给出两个顶点,x轴较低的那个是左上角。另一个是右上角。
4-给出两个底点,x轴较低的一个是左下角。另一个是右下角。
使用opencv / c ++参考:https://opencv-code.com/tutorials/automatic-perspective-correction-for-quadrilateral-objects/
答案 1 :(得分:1)
对象是否具有固有的绝对方向(即手套或方向棋盘格),这些方向可能会逐帧变化,您需要识别它吗?或者只是确保索引排序在帧与帧之间是一致的?如果后者和相对帧间运动很小,为什么不跟踪它 - 即通过与前一帧角点的位置接近来重新分配指数?