소개

Managed Extensions for C++은 Microsoft Visual C++ 개발자가 Microsoft .NET용 응용 프로그램을 작성할 수 있도록 도와주는 언어 확장 집합입니다.

다음과 같은 경우에 Managed Extensions을 사용하면 유용합니다.

C++로 .NET 응용 프로그램을 작성하여 개발자 생산성을 향상시킬 경우

unmanaged C++에서 .NET 플랫폼으로 많은 양의 코드를 마이그레이션할 경우

.NET Framework 응용 프로그램에서 unmanaged C++ 구성 요소를 사용할 경우

unmanaged C++에서 .NET Framework 구성 요소를 사용할 경우

같은 응용 프로그램에서 unmanaged C++ 코드와 .NET 코드를 함께 사용할 경우

Managed Extensions for C++는 .NET 플랫폼을 대상으로 하는 개발자에게 굉장한 유연성을 제공합니다. 일반적인 unmanaged C++과 managed C++ 코드는 같은 응용 프로그램 내에서 자유롭게 함께 사용할 수 있습니다.

Managed Extensions를 사용하여 새로 작성한 응용 프로그램에서는 두 코드의 장점을 모두 이용할 수 있습니다.

Managed Extensions를 사용하여 기존 구성 요소를 .NET 구성 요소로 쉽게 래핑할 수 있으므로 .NET과 통합하는 과정에서 기존 코드의 속성을 그대로 유지할 수 있습니다.

CAM Mouse

이번 프로젝트에서 만든 물체를 인식해서 마우스를 이동하는 프로그램이다. 방식은 HSV 값의 H값과 S의 값을 가지고 마우스 좌표를 이동시켰다. 어려운점도 있었지만 마무리도 잘 마쳤다.





컴퓨터는 기본적으로 RGB 컬러를 사용한다. 8비트의 값을 3개를 가지고 있어서 각각의 값에 0~255 값을 가지고 있다. 그래서 255 값을 가지고 있다면 그 색이 포함된 정도이다.

그런데 이 RGB의 값을 가지고 물체를 인식하는 데에는 상당한 문제가 있다. 조명과 같은 값이 포함되어 있을때는 상당히 오차가 크게 나기 때문이다. 그렇기 때문에 특정 물체를 인식하기 위해서는 HSV 값을 가지고 물체를 인식하는것이 오차 범위를 줄일 수 있다.

HSV값은 색상 채도 명도 값으로 색상 값은 0~360도의 색상 값을 가질수 있으며 채도 값은 그 값에 흰색의 포함 여부이다. 그리고 명도 값은 말그대로 명도 값이다. 그런데 물체를 인식할때 이 세가지 값을 다 쓰는것이 아니라, 색상 값과 채도 값을 가지고 찾아 낸다.

그래서 이 RGB값을 HSV값으로 변환하는 프로그램이다. 중요한건 RGB값을 0~255값으로 주는 것이 아니라, 0~1의 값을 넣어야 하고 HSV값은 0~360, 그리고 나머지는 0~1의 값을 넣어야 한다는 점이다.


div>