작성일: 2014-08-08



1. 개요 #

어떤 게시판에서 학부생이 이미지 히스토그램을 만드는 질문 글을 올린 걸 봤는데 어렵지 않을 것 같아서 만들어봤다.
우선 생각해본 대로 만들어봤다.

1. 이미지를 비트맵으로 변환한다.
2. 비트맵 데이터를 가져온다.
3. 비트를 읽어 RGB 값을 카운트 한다.
4. 그래프를 찍어 그린다.

생각했던 대로 결과가 나와서 금방 만들었다. 처음 RGB 값을 화면에 그릴 때 카운트한 값의 최대를 그래프 높이로 두고 출력했다. 그 결과 히스토그램이 출력되기는 했는데 상용 소프트에서 보여주는 히스토그램과 같지 않았다 Screenshot 1 . 상용 소프트의 히스토그램은 Raw한 값이 아닌 것 같았다 Screenshot 2 . 모든 그래프가 보기 좋게 출력되는 비율 조정이 필요해 보였다. 생각해 봤는데 출력되는 최소 면적 기준으로 조정하면 되겠다 싶었다. 출력되는 그래프의 최소 면적을 전체 면적의 25%로 스레숄드를 주고 비율을 조절하니 보기 좋아졌다.

즉,
3. RGB 값을 카운트 한다.
3-1. 스케일을 조정한다. <-- 추가
4. 그래프를 찍어 그린다.

과정이 되었다.

2. Screenshots #

140808_01.png
[PNG image (85.33 KB)]

실제 히스토그램

140808_04.png
[PNG image (23.16 KB)]

포토샵 히스토그램

140808_02.png
[PNG image (87.42 KB)]

조정된 비율

140808_03.png
[PNG image (116.1 KB)]


3. Code #

PrintHistogram

DrawGraph

4. Binary #

Retrieved from http://hyacinth.byus.net/moniwiki/wiki.php/C++/RGB 히스토그램
last modified 2015-07-31 10:26:48