2012-07-26 1 views
0

나는 안드로이드 용 opencv의 MatOfPoint2f에 포인트를 추가하려하지만, 가장 효율적인 방법은 확실치 않습니다. MatOfPoint2f.toArray()를 호출 한 다음이를 arraylist에 추가하고 내 요소를 추가 한 다음 MatOfPoint2f.fromArray()를 호출 할 생각입니다. 나는 MatOfPoint2f 메서드를 사용하려고 시도했지만 때때로 배열의 경계를 지나서 요소를 추가하기 때문에 작동하지 않습니다. 또한 toList() 메서드를 호출하고 add 메서드를 사용하여 시도했지만 목록에서 요소를 추가하거나 삽입 할 수는 없습니다. 매트에서 push_back 메서드를 보았습니다. 낮은 행에 요소를 추가하기 때문에이 방법도 작동하지 않을 것이라고 확신합니다. 모든 점이 0 행의 열에 저장됩니다.MathefPoint2f에 포인트 추가하기

도움이 될 것입니다. 대단히 감사합니다.

+0

정확히 무엇을 의미합니까? 항상 행렬의 맨 아래에 추가됩니까? 그들은 어디든 갈 수 있습니까? 요소를 어딘가에 삽입하면 모든 요소를 ​​한 번에 이동해야합니다. 삽입 규칙은 무엇입니까? 일부 버전은 다른 버전보다 훨씬 쉽습니다. – Hammer

답변

0

나는 linkedlist 전역 변수를 사용하여이를 해결했으며, 포인트를 추가하거나 제거해야 할 때마다 해당 링크리스트에서 수행 한 다음 목록에서 매트릭스를로드하는 MatOfPoint.fromList() 메소드를 호출합니다. 그것은 예쁘지 않지만 그것이 필요한 것을합니다.

0

그냥 똑같은 문제가있어 더 나은 답변을 얻었습니다. 내가 가진 :

MatOfPoint2f allContours = new MatOfPoint2f(); 
MatOfPoint2f oneContour = new MatOfPoint2f(); 

내가 oneContour 값 집합이 있으면, 내가 사용하고하는 것은 : 당신이 포인트를 추가 말할 때

allContours.push_back(oneContour);