'아스키아트'에 해당되는 글 3

  1. 2009/05/09 심심풀이로 하고 있는것
  2. 2008/06/25 패터닝을 이용한 아스키 아트의 구현 (2)
  3. 2008/05/23 아스키 아트 (10)
 

심심풀이로 하고 있는것

GG시리즈/GG아스키 | 2009/05/09 20:13 | Posted by DMW
크리에이티브 커먼즈 라이선스
Creative Commons License

스샷보기



 이미지를 아스키아트로 바꿔주는 GG아스키를 틈날때마다 만들고 있다능. Image processing 방법은 전에 포스팅했던 페터닝(http://www.filepang.co.kr/entry/패터닝을-이용한-아스키-아트의-구현) 기법으로 구현할꺼고 AI 방법은 신경망을 이용한 페턴매칭을 사용해서 해볼껀데....해보고 어려우면 이 기능은 쏙빼놓고 구현할꺼라능.

그리고 GG뷰어는 WPF 배우고 나서 버젼업이 될듯 절대로 손놓고 있는게 아님 -_-;
저작자 표시 비영리 동일 조건 변경 허락

'GG시리즈 > GG아스키' 카테고리의 다른 글

심심풀이로 하고 있는것  (0) 2009/05/09

댓글을 달아 주세요

크리에이티브 커먼즈 라이선스
Creative Commons License
아스키 아트란 디지털 간색 기법중의 하나인 패터닝의 일종으로 볼 수 있다. 간단하면 말하면 입력 영상의한 필셀에 대응되는 패턴이 아스키 문자의 하나인 것을 말한다. 그럼 패터닝이 무었인지 알아보자. 아래에 설명은 08년 1학기에 내가 제출했던 보고서에서 주워왔다.

------------------------------------------------------------------------------------------------------
patterning

 패터닝은 출력 장치의 공간 해상도가 원시 영상보가 좋을 때 흔히 사용되는 기법이다. 각색 셀의 해상도가 화소해상도가 같다고 할지라도, 화소 하나는 16개의 도트로 표현된다.

사용자 삽입 이미지

따라서 한 픽셀과 대응되는 16개의 도트를 입력 화소와 비슷하게 보일 수 있도록 어떤 패턴을 갖도록 해야할 필요가 있다. 이때 패턴의 선택이 잘 못되면 의도하지 못한 영상을 출력하게 된다. 한 명도값을 어떤 패턴으로 프린트되도록 셜정하였다면 이보다 강한 명도값은 그 패턴에서 설정된 셀들을 모두 포함하는 패턴을 가져야 한다.이를 성장 연속 growth sequence 라 한다.

 하나의 블록(16개의 도트)는 각각의 유일한 명도값을 표현할 것임으로 이를 위해서 입력 영상의 화소값을 양자화할 필요가 있다. 다음과 같은 경우 입력 화소의 값을 15(255 / 17)로 나누어 줌으로 쉽게 해결할 수 있다. 이로서 화소값은 0에서 17까지의 값을 갖게 된다. 출력되는 영상은 양자화된 화소를 하나의 출력 패턴에 사상 시킴으로 생성된다.

사용자 삽입 이미지


설명 끝
-----------------------------------------------------------------------------------------------------

아스키 아트의 구현은 입력 영상의 한 픽셀의 밝기값에  대응되는 패턴(아스키 문자)으로 대치하는 것임으로 패터닝 기법으로 쉽게 구현할 수 있다.

 패터닝 기법은 입력 영상의 한 픽셀을 4x4(내 구현에서는 7x7)의 패턴으로 대치함으로 출력 영상은 가로, 세로 4배(7배)로 크기가 커진다. 출력 영상의 크기를 입력 영상과 같게 하기 위해서는 입력 영상을 축소 한 상태에서패터닝을 적용하면 된다. 이를 위해서 subsampling등의 여러가지 기법을 적용할 수 있다.

위의 설명에서는 밝기값이 0~255 사이의 값을 갖고 출력 패턴이 17가지 임으로 15로 입력 영상의 밝기값을 나누 줬지만 출력 패턴이 17가지보다 많거나 적을경우 이를 적절히 조절하여 구현하면 된다.

마지막으로 출력 영상이 8비트 그래이 일경우 사용한 아스키 문자 패턴을 소개하고 포스팅을 마치겠다. 이 패턴은 노가다를 통해서 구해냈다. -_-;;

@GE9DX5WKkyezui:,.

결과물은 대략 이렇게 나온다

'튜토리얼 > 아스키아트' 카테고리의 다른 글

패터닝을 이용한 아스키 아트의 구현  (2) 2008/06/25

댓글을 달아 주세요

  1. Favicon of http://eufonius.tistory.com BlogIcon prismatic 2008/10/11 18:27  댓글주소  수정/삭제  댓글쓰기

    기회 되면 꼭 한번 해 보고 싶은...... ㅠㅜ

  2. 형들아 2011/03/08 22:06  댓글주소  수정/삭제  댓글쓰기

    프갤에도 차냥글 올렸지만 항상 신경써주셔서 감사합니다.

아스키 아트

루비 | 2008/05/23 22:25 | Posted by DMW
크리에이티브 커먼즈 라이선스
Creative Commons License
Digital halftoning 기법중의 하나인 patterning의 일종이다.

사진보기(15금?)


'루비' 카테고리의 다른 글

Ruby/SDL - 최근 근황  (1) 2008/09/30
Ruby/SDL - 요즘 심심풀이로 하는것  (5) 2008/09/22
아스키 아트  (10) 2008/05/23
달팽이찍기  (3) 2008/05/12
별찍기 #3  (1) 2008/05/08
프랙탈 나무 그리기  (9) 2008/04/18

댓글을 달아 주세요

  1. Favicon of http://holygate.tistory.com BlogIcon arcma 2008/05/23 23:21  댓글주소  수정/삭제  댓글쓰기

    .......

    니가 그렇지..ㄱ-

  2. Favicon of http://1337.tistory.com BlogIcon 비밀 2008/05/24 02:14  댓글주소  수정/삭제  댓글쓰기

    쎼...쎾쓰!!

  3. Favicon of http://clippership.tistory.com BlogIcon LaLuna 2008/05/29 09:41  댓글주소  수정/삭제  댓글쓰기

    저에게도 Source 를 ... 사진이 ....좀 있는데...

  4. lazygyu 2010/10/27 12:08  댓글주소  수정/삭제  댓글쓰기

    근데 어차피 글자 하나하나의 명도를 조절해서 출력한다면 패터닝이 중요하진 않은거 아닌가요!! 다시말해서 저 글자들이 다 같은 색일때 알아볼 수 있어야 레알 패터닝 아니냐능!! 흥!!

    • Favicon of http://www.filepang.co.kr BlogIcon DMW 2010/10/27 21:18  댓글주소  수정/삭제

      패터닝으로 아스키아트를 만들 때 님이 말한거처럼 하려면 출력이미지가 정말 크게 나와야 된다능. 단색으로 출력되서 글자 패턴으로 명도를 조절하게도 해봤는데...이미지가 너무 커져서 써먹으때가 업ㅂ더라능

  5. Favicon of http://lazygyu.tistory.com BlogIcon LazyGyu 2010/10/29 11:26  댓글주소  수정/삭제  댓글쓰기

    ㄴ 넹넹 그렇다능 아무래도 단색 선으로 이루어진 스케치를 2ch에서 하듯이 AA로 변환하는 방식으로나 써먹을 수 있는 방법인거 같다능

  6. 형들아 2011/03/08 22:07  댓글주소  수정/삭제  댓글쓰기

    와 이건 꼭하고 싶다