본문 바로가기

[ 프로그래밍 ]/OpenGL 관련

사진을 3D로 표현하는 HSV 컬러 좌표계 VIEWER

영상 인식에 HSV 컬러좌표계의 컬러정보를 사용하는 경우,
육안으로 인지되는 색상과 실제 값들이 같지 않아 답답할 때가 있었다.
그래서 모든 색상 분포를 3차원으로 볼 수 있으면 어떨까 생각했었는데,
AR 때문에 OpenGL을 공부하면서 제일 먼저 눈에 띈 것이 3D 좌표계에 컬러 점을 찍을 수 있는 것이어서
유용하게 사용해 볼 수 있는 프로그램을 한 번 만들어 보았다.

이 프로그램은,
입력된 영상을 일정한 크기로 리사이즈 -화면 출력 및 속도 확보 등을 위함- 한 뒤
각 픽셀의 색상(Hue), 채도(Saturation), 밝기(또는 명도, Value or Brightness) 정보를
3D 좌표계상에 출력하는 기능을 한다.(3D Reconstruction의 개념과는 상관이 없다)

아래는 프로그램 실행 동영상으로,
히로스에료코의 사진집 Relax 중 몇 장에 대해 테스트 해보았다.

첫 사진은 풀밭에 누워 있는 료코의 사진으로,
풀과 료코의 피부, 옷 색상 등이 3D 좌표계에서 구분되는 모습을 보여주고,

다음 사진은 흑백 영상의 경우,
색상정보는 변화가 없고 밝기 정보만을 가진다는 것을 알 수 있으며,

이후 나머지 두 장의 사진들에서는
색상, 채도, 밝기 정보를 골고루 비교해가며 출력해 보았다.




3D 좌표계상의 마우스 좌표를 역으로 읽어서,
그 부분에 대한 색상/채도/밝기의 값을 알 수 있게 한다던지,
선택한 부분의 색상만 화면에 출력되도록 한다던지 하는 기능들이 추가된다면
더 유용하게 사용할 수 있을 것 같다.




개발 프로그램 :
Visual C++ 7.0
OpenCV
OpenGL


프로그램 실행파일 다운로드 :


※ 프로그램이 실행되지 않을 때는 닷넷프레임워크가 설치되어 있는지 확인하세요.


'[ 프로그래밍 ] > OpenGL 관련' 카테고리의 다른 글

OpenGL의 시작  (0) 2010.05.23