티스토리 뷰

OpenCV

[Kinect with OpenCV] BoundingRect

생각많은 소심남 2012. 10. 10. 15:00

사실 제가 한것에서 조금 보완해야 할 점은 handRect의 크기가 그냥 blob의 크기와 동일하기 때문에 손의 position이나 finger gesture를 위해서는 hand에 대한 정확한 Rectangle을 뽑아내는 것이 중요했습니다. 그래야 해당 부분에 대한 ROI를 지정할 수 있고요.

그래서 그중 생각해본 방향이 defect를 구해서 손목의 위치를 구한 후에 그 손목의 위치를 기준으로 Rectangle을 뽑으면 어떨까 싶어서 이전 포스트의 결과물이 나왔습니다.

그런데 아시는 분도 아시겠지만 BoundingRect이라고 해서 딱 정해진 범주의 점들만 가지고 Rectangle을 만들 수 있는게 있습니다. 그래서 손바닥에 대한 defect를 토대로 BoundingRect을 한번 적용시켜봤습니다.

 

 

지금 위의 결과물은 이전 포스트에서 뽑은 point 중 Depth Point만 가지고 하나의 배열로 만든 사각형입니다. 이렇게 점들을 sequence에 넣어놓고 해당 점들 중 가장 큰 값에 대해서만 위처럼 사각형을 구현하게 됩니다. 조금만 잘 활용하면 손바닥에 대한 handRect을 구할 수 있을거 같습니다.

 

밑의 것은 그냥 이전에 구한 Defect에 ConvexHull을 덧붙인 형태입니다. 그냥 상상으로는 convexhull의 포인트와 Defect의 포인트가 같은 지점만 뽑아내면 손가락이 나오지 않을까 합니다.

 

댓글