이진 이미지에서 원 모양의 질량 중심을 얻고 싶지만, 출력은 더 많은 질량 중심을 제공합니다. 나는 이미지 모멘트에 대해 opencv 웹 튜토리얼 문서의 코드를 사용하고있다. 참고로 저는 C++ API OpenCV를 사용하고 있습니다.하나의 다음 중점이 이미지에서 물체의 중심이됩니까?
그리고 출력은 다음과 같습니다
내가 기대
이 텍스트 출력은 어쩌면 3 중심 윤곽 3에서를 줄 것이다, 그러나 현실은 7 윤곽 (윤곽 [0], ..., 윤곽 [입니다 6] 참조).
중력은 어느 것입니까? 또는 원 모양의 윤곽선 영역은 어느 것입니까?
그런 다음 코드를 수정하고 일부 윤곽선을 제거합니다 (실제 그림은 노이즈가 많아서 일부 윤곽선, 원 모양을 얻으므로 선과 문자와 같은 다른 윤곽선을 제거해야합니다).
contours.erase()
는 난 단지 .. (500)
그러나, 이상한 될 출력까지 (100) 사이의 영역의 형상으로부터 중심을 얻으려면
도심은 등고선에서 어느 곳으로나 날아가는 것과 같습니다.
그렇다면 여전히 5 개의 윤곽 (윤곽 [0], ..., 윤곽 [4])에서 5 개의 중심이 있습니다.
어떻게해야합니까? 나는 원 모양의 중심을 얻고 싶습니다 (숫자 3 이상). 정말 조언이 필요합니다. 정말 고맙습니다! : D
.. 내 나쁜 영어에 대한 * 죄송합니다
안녕하세요, 아주 단순한 한 모양의 이진 이미지를 만들고 코드를 사용해보세요. 또한, 이것은 쉬운 문제인 것처럼 보이지만 코드를 보지 않고 당신을 도울 수 없습니다 ... 1) 원형 인 모양을 찾고 2) 질량 중심을 찾고 싶습니까? –
@QuentinGeissmann 귀하의 의견을 보내 주셔서 감사합니다 : D 첫 번째 사진은이 [code] (http://docs.opencv.org/doc/tutorials/imgproc/shapedescriptors/moments/moments.html)를 사용하고 있습니다. 두 번째 그림의 경우 코드를 으로 수정했습니다. if (contours [i], false) <100 || contourArea (contours [i], false)> 500) {contours.erase (contours.begin() + i); }'. – lulu
솔직히 말해서, 저는 원 모양의 매스 센터를 찾고 싶습니다. 조언 있니? : D – lulu