작성일: [[Date(2014-08-21T15:32:55)]] 다음 방법으로 이미지 대표색을 찾을 수 있을 것이다. 1. 이미지 대표색이란? 복잡한 이미지를 한 가지 색으로 표현할 수 있는 색. 보통 이미지에서 가장 많이 쓰인 색이 이미지 대표색이라고 할 수 있을 것이다. 2. 이미지에서 RGB 픽셀 값을 구할 수 있다. (관련 프로젝트: ["C++/RGB 히스토그램"]) 이 정보를 기초로 가장 많이 쓰인 색을 구할 수 있다. 여기까지 해도 충분히 원하는 결과를 얻을 수 있을 것이라고 생각되나... 3. 문제는 눈으로는 거의 차이가 없는 색이라도 RGB 값이 픽셀마다 근소하게 다를 경우 왜곡된 결과가 도출될 수 있다. JPEG 같은 압축 이미지 포맷이면 그런 경향이 더 커진다. 그렇다면 이미지에서 가장 많은 '비슷한' 색이라면 좀 더 정확한 이미지 대표색일 것이다. 4. 비슷한 색을 찾는 방법은 두 가지가 있다. 먼저 각 픽셀에 대해 다른 픽셀과 얼마나 색 차이가 있는지 찾는 것이고, 다른 하나는 RGB 값 범위(0~255)를 일정한 간격으로 나누어 같은 구간에 있으면 비슷한 색이라고 판단하는 것이다. 전자는 가장 정확하지만 연산이 기하급수적으로 많아진다. 후자는 구간 경계에서 결과에 조금 왜곡이 있을 수 있지만 연산은 O(N)에 끝난다. 연산량 차이를 생각하면 정확도는 수용할 수 있는 수준이다. 5. 이제 가장 많이 쓰인 비슷한 색 군의 중앙값을 구하면 그 결과가 이미지 대표색이다. ==== PoC 코드 ==== 나중에 시간 되면... attachment:Color_File.jpg?width=500