0

저는 OpenCV를 사용하여 약간의 저녁 시간을 보내고 있습니다. 페이지 내의 내용에 대한 분석을 수행하는 작은 프로젝트를 진행하고 있습니다. 페이지의 선을 원근감있게 변형하고 전체 화면을 먼저 맞추고 싶습니다. 그러나 사람들이 다른 색의 배경에 종이를 붙들거나 전체 페이지 경계에 맞게 충분히 돌아갈 것을 믿을 수는 없습니다.OpenCV에서 원근감 변환에 사용할 이미지의 마커 감지

페이지의 반대쪽 모서리에 마커를 추가하여 추적하고, 위치를 얻은 후 변형을 수행하는 방법을 생각했습니다. 다음은 감지하려고하는 모서리 표시의 샘플 이미지입니다. sample image

어떤 방법이 최선입니까? 나는 주로 사람을 찾고있는 올바른 방향으로 나를 가리 킵니다.

+0

4 포인트가 필요합니다! 그 경계 모서리에 머무르고 싶다면 houghLinesP를 시도해보십시오. 그러나 완벽한 마커가 아닐 수도 있습니다. – Micka

+0

나는 제 3과 4를 얻기 위해 2 점의 x와 y를 서로 바꾸려고 생각하고있었습니다. 그러나 선 벡터를 확장하고 교차하지 않는 한 회전 된 이미지에는 효과가 없을 것입니다. @Micka 조금 전에 houghLinesP를 사용했는데,이 컨텍스트에서 사용하고 이미지에 나타날 수있는 다른 줄을 피하는 것이 좋습니다. – JVillella

+0

그 마커를 기대할 수있는 것은 단지 다른 선이 90도 교차하지 않는다는 것입니다. 원근감 왜곡 때문에 2 점을 더 얻으려면 그냥 상호 교환 할 수 없습니다. – Micka

답변

1

귀여운 아이디어! 다른 사람들이 지적했듯이, 두 점으로는 충분하지 않지만 마커는 네 줄을 정의하고 충분합니다.

마커를 구성하는 선분에서 가장자리를 안정적으로 감지 할 수 있다면 선을 그 선에 맞추고 직접 선 호모 그라피를 계산 한 다음 (이를 역변환하여 점 호모 그라피로 변환) 교차하거나 두 선을 짝 지어 ​​네 개의 독립적 인 모서리를 얻은 다음 그 점 호모 그라피를 계산합니다.

안정적으로 마커를 검색하려면 몇 가지 실험이 필요할 수 있습니다. 템플릿 일치를 사용하는 것이 좋습니다.

+0

HoughLinesP 행을 반환하는 것이 페이지의 내용이 아닌 모서리의 행에 해당하는지 확인하기위한 제안 사항은 무엇입니까? 나는이 라인/포인트 호모 그래피를 더 자세히 살펴볼 것이다. 지금까지 4 개의 꼭지점을 찾았 으면 지금까지 워프 변환을 수행했습니다. – JVillella

0
  1. 당신은 먼저 이진 임계 값을 적용한 후 이미지의 이미지에서 첫번째 검은 픽셀과 마지막 검은 색 픽셀을 얻을 수 있습니다. 당신은 대각선 인 2 점을 얻을 것입니다.

  2. 당신이 img.shape 속성을 사용하여 다른 대각선 지점 를 얻을 수 이러한 두 점을 사용.

  3. 이제 4 점을 얻은 후 변형을 수행 할 수 있습니다.

관련 문제