티스토리 뷰

728x90

1. 개요

  

 페이스북을 보다가 0과 1로 2를 만드는 법이라는 글을 보게 되었고, 그림을 글자로 재 표현하는 프로그램을 만들어 보자는 생각으로 시작하게 되었습니다.




2. Prototype

  

 소스코드 구현의 시작은 픽셀의 밝기를 여러 단계로 나누어 단계에 따른 해당 글자로 변경하는 방식으로 진행할려고 했습니다.



밝기에 따라 변경될 단어들은 아래 단어들로 선정하였습니다.



 처음에는 Red, Green, Blue 3개의 값의 총 합으로 밝기를 구분을 하였고, 두번째는 3가지 요소 중 가장 작은 요소로 단계를 구분지어 출력물을 만들어 보았습니다.


왼쪽 출력물은 Sum으로, 오른쪽은 최소값을 기준으로 삼아 픽셀을 글자로 변경해 보았습니다.


결과는 둘다 좋았습니다. 


소스코드는 다음과 같습니다.



3. 휘도(luminance)

  

 위 두방식은 정확한 밝기로 구분하는 것이 아니라 대락적인 눈 짐작으로 구별한 것이라 몇몇 사진에서는 위와 같은 뚜련한 결과를 뽑아 내지 못하였습니다. 그래서 진짜 밝기를 이용해서 구현해 보자라고 생각을 하고 검색을 해보니 RGB값을 가지고 휘도를 구하는 공식이 있었습니다.


brightness  =  sqrt( .299 R2 + .587 G2 + .114 B2 )


 위 공식 출처는 http://alienryderflex.com/hsp.html입니다.


추가적으로 밝기의 구분을 고정적으로 하는 것이 아니라 사진의 전체적인 밝기를 가지고 최대, 최소 밝기와 밝기가 몰려있는 정도를 가지고 자동으로 범위를 정해주는 식으로 변경하였습니다.



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함