'Interesting'에 해당되는 글 192

  1. 2008.07.15 [wiimote] whiteboard 프로그램 분석 (1)
  2. 2008.07.12 변환의 계층
  3. 2008.07.12 projective distortion 의 예
Interesting/Wii | Posted by hyena0 2008. 7. 15. 23:43

[wiimote] whiteboard 프로그램 분석 (1)



Whiteboard Program 분석(1)

쟈니리의 화이트보드 프로그램을 다운로드 받아보면, C#으로 작성된 것을 알 수 있다.

프로젝트를 Visual Studio 에서 열어보면 아래의 구조로 구성되어 있다.


WiimoteWhiteboard
--------------------------
Properties
 app.manifest
 AssemblyInfo.cs
 Resources.resx
  Resources.Designer.cs
 Settings.settings
  Settings.Designer.cs
--------------------------
References
 System
 System.Data
 System.Drawing
 System.Windows.Forms
 System.Xml
--------------------------
WiimoteLib
-docs
  -APIHelp
   -AdditionalContent
   -Help
  - Properties
 DataTypes.cs
 Events.cs
 HIDImports.cs
 WiimoteLib.csproj
 WiimoteLib.csproj.user
--------------------------
CalibrationForm.cs
 CalibrationForm.Designer.cs
 CalibrationForm.resx
Form1.cs
 Form1.Designer.cs
 Form1.resx
Program.cs
Warper.cs

주요한 프로그램은 Form1.cs와 CalibrationForm.cs 이지만, WiimoteLib 속에 위모트를 불러들이고 처리하는 부분이 들어 있어서 향후에 위모트로 응용프로그램을 작성하자면 분석해야할 첫대상이 될 것이다.

 WiimoteLib는 DataTypes.cs, Events.cs, HIDImports.cs 세가지 파일로 구성된다.

Interesting/Multiple view geometry | Posted by hyena0 2008. 7. 12. 23:01

변환의 계층



A hierarchy of transformations

Projective 변환에 대해 그룹을 나눌 수 있다. : Projective linear group

n 차원의 nxn 행렬에 대해 실수요소를 가지는 일반적인 선형그룹을 GL(n)으로 표현하자.
Projective linear group : PL(n) -> Projective 변환의 경우 n = 3

- 불변량 (Invariant) : 각 변환을 통해 기하학적 설정이 변하지 않는 부분이 있다.


아래와같이 네가지 계층으로 나뉜다.

1. Isometries
2. Similarity transformation
3. Affine transformation
4. Projective transformation

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지


projective distortion 의 예

아래의 예는 좌측의 사진을 우측의 사진으로 변환한 것이다. 수식에서 말하듯이 H의 요소가 선형적이므로 H의 요소를 구하기 위해서는 4개의 점들이 있어야 H 전체에 대해 8가지 선형식을 이끌어 낼 수 있다.

세가지 유의할 점 : H 변환을 계산하기 위해  카메라의 매개변수나 평면의 정보 등을 알 필요가 없다. projective distortion을 제거하기 위해 반드시 4개의 점에 대한 정보가 있어야 함. 향후 언급할 Projective transformation 의 계산방법을 고려하는 것.

사용자 삽입 이미지