그래서 문제는 제가 2D로 바꾸고 싶은 직사각형의 3D 투영법을 가지고 있다는 것입니다. 즉, 나는 그 시트의 2D보기로 변환하고자하는 테이블에 놓여있는 한 장의 종이의 사진을 가지고 있습니다. 그래서 내가 필요한 것은 모든 3D/투영 변환을 되 돌리면서 왜곡되지 않은 2D 이미지를 얻고 그 위에서 평면의 평면 뷰를 얻는 것입니다. 나는 주제에 대한 몇 가지 지침을 찾았지만 어떻게 달성 할 수 있는지에 대한 즉각적인 지시는 제시하지 않았다. 수행해야 할 작업에 대한 단계별 지침을 얻는 것이 좋습니다. 또는 작은 세부 정보로 분류하는 리소스에 대한 링크입니다.투영 기하학 : 3D에서 직사각형의 투영을 2D 뷰로 바꾸려면 어떻게해야합니까?
답변
이렇게하려면 더 많은 정보가 필요합니다. 예를 들어 용지 크기. 가지고 있다고 가정 해 봅시다.
배워야 할 것은 "동질성 (homography)"이라고합니다. 이것은 기본적으로 다음과 같은 상황입니다.
두 개의 다른 카메라에서 같은 평면 표면 (두 장의 사진을 찍습니다. 당신이 얻고 자하는 것 - 종이 위에 정확히 카메라가있는 것).
한 이미지의 2D 공간에서 다른 이미지 (호모 그래피)의 2D 공간으로의 변형이 존재하며이를 찾는 것이 목표입니다. 일단 당신이 그것을 발견하면 당신은 단지 당신의 이미지에 그것을 적용하여 가장 높은 전망을 얻습니다.
동질 기질 행렬을 찾으려면 (적어도) 4 점이 필요합니다. 그 좌표는 양쪽 이미지에서 알고 있어야합니다.
이러한 점에 대한 확실한 선택은 물론 용지의 꼭지점입니다. 이미지에있는 이미지를 손으로 찾을 수 있습니다. 대상 이미지에서 시트의 중앙에있는 시트 (0,0)를 선택하여 그 시트의 크기를 알 수 있습니다.
온라인 4 점에서 호모 그래피 매트릭스에 대한 많은 정보가 있습니다. This은 내가 처음 온 것 중 하나 일 뿐이므로 더 나은 소스가 있어야합니다.
이러한 계산은 대부분 투영 변환이므로 2D 투영 공간에서 수행됩니다.
고맙습니다. 매우 유익합니다. –
Petar의 답은 용지의 모양에 대해 알지 못한다면 올바른 것입니다. 용지가 임의의 사변형이 될 수 있다면. 그러나이 논문은 직사각형 인이므로이 문제는 직사각형의 종횡비를 알 필요없이 호모 그래피를 결정할만큼 충분히 제한됩니다.
자세한 방법은 Microsoft Research's "Whiteboard It!" paper의 섹션 4를 참조하십시오.
꼭지점의 올바른 3D -> 2D 변형을 수행하면 잘 작동합니다. 출발점은 DaVinci의 3D 점 -> 2D 점 투영 기하학 모델을 연구하는 것입니다.
- 1. 수학 (기하학) : 직사각형 투영?
- 2. 보기의 프레임을 수퍼 뷰로 바꾸려면 어떻게해야합니까?
- 3. 3D에서 2D 로의 일치
- 4. 3D에서 2D Raytracing의 부드러운 그림자
- 5. 3D 평면에서 3D 투영을 모방하도록 2D 이미지 변환
- 6. Matlab : 3D 함수의 2D 투영
- 7. 평면에 점의 직교 투영을 찾으려면 어떻게해야합니까?
- 8. 파이썬에서 3D 매트릭스의 2D 투영을 만듭니다.
- 9. 2d/3d에서 두 선분의 평균 거리
- 10. C++ opengl : 3D 그래픽과 2D 메뉴에 대해 서로 다른 두 가지 투영 유형을 결합하려면 어떻게해야합니까?
- 11. blackberry - java - 2D 기하학 및 충돌 패키지
- 12. C++에서 행렬 투영 투영 함수
- 13. iOS에서 OpenGL-ES 2.0을 사용하여 가로 정 투영 투영을 설정하는 올바른 방법은 무엇입니까?
- 14. Ant를 Maven으로 바꾸려면 어떻게해야합니까?
- 15. 요소를 바꾸려면 어떻게해야합니까?
- 16. 도트를 삼각형으로 바꾸려면 어떻게해야합니까?
- 17. TableAdapter DataViews를 바꾸려면 어떻게해야합니까?
- 18. MFC CString을 바꾸려면 어떻게해야합니까?
- 19. , 파일의 행을 바꾸려면 어떻게해야합니까?
- 20. 2D XY 평면에 3D 점 투영
- 21. 3D 모델을 2D 평면으로 투시 투영
- 22. OpenGL, 등각 투영 2D 맵 및 텍스처
- 23. 투시 투영을 이용한 서페이스 제거를위한 깊이 보간
- 24. 3D 투영 정보
- 25. NHibernate의 투영
- 26. 이미지 스트림에서 직사각형의 움직임을 효율적으로 감지하려면 어떻게해야합니까?
- 27. 무비 클립에서 색상을 바꾸려면 어떻게해야합니까?
- 28. TreeView에서 노드의 이름을 바꾸려면 어떻게해야합니까?
- 29. 파이썬에서 여러 번 바꾸려면 어떻게해야합니까?
- 30. ASP.NET에서 파일의 이름을 바꾸려면 어떻게해야합니까?
내가 당신을 이해하지만 당신이 ProjMatrix를 찾고 있을지도 모른다면 shure하지 마세요. http://www.songho.ca/opengl/gl_projectionmatrix.html – JAre