ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • iPhone Image Processing (png <-> tiff)
    iPhone 2010. 7. 15. 10:19

    아이폰에서 처리되는 이미지 관련 어플리케이션을 새로 계획중이라서 이미지 관련 내용을 정리하려고 한다.

    현재 개발 내용의 중점 사항은 카메라도 찍힌 내부 이미지(Png 또는 Jpeg)를 Tiff (multi-paged) 형태로 서로 변환하는 것이 문제인데, 내가 알고 있는 iPhone Dev framework에는 기본적으로 Quartz 2D라는 코어 그래픽스 프레임워크와 OpenGL ES(Embedded System)에서는 이러한 Multi-paged Tiff 형식의 이미지 변환을 지원하지 않는 것으로 보였다.
    (단순 페이지 View는 지원됨)

    지인을 통해 알아본 결과, Unix Image Process Library 가운데 ImagemagicK라는 라이브러리가 상당히 범용적으로 사용되고, 또한 Mac OS X도 지원 가능함을 알았다.

    일단 ImagemagicK에 대해서 알아보자!

    1. ImagemagicK 공식 사이트(http://www.imagemagick.org)에 가면  Mac OS 용 라이브러리를 다운로드 받을 수 있다.

    2. 사실 ImagemagicK 에서는 MacPorts를 이용해서 해당 라이브러리를 설치하라고 권고하고 있으며, 자세한 내용은 http://www.macports.org/ 에서 확인해 볼 수 있다.

    3. 맥북 Finder에서 좌측 메뉴의 응용프로그램->유틸리티->터미널을 선택하여 실행 후, 해당 터미널 창에
       sudo port install ImageMagick 
       입력한다.

    4. ImagemagicK는 line형태의 Command로 Image Processing 및 컨버트를 하는 형태이고 그 예는 다음과 같다.
     
    파일포맷변경
    convert image_org.gif  image_out.jpg
    [설명] image_org.gif  이미지를 image_out.jpg로 바꾼다.

    convert image_org.png  image_out.jpg
    [설명] image_org.png  이미지를 image_out.jpg로 바꾼다.


    확대,축소,리사이즈
    convert image_org.jpg -resize 25%x25% -quality 100 image_out.jpg
    [설명] image_org.jpg  이미지를 1/4 축소한 image_out.jpg로 바꾼다.

    convert image_org.jpg -resize 800x600 -quality 100 image_out.jpg
    [설명] image_org.jpg  이미지를 800x600픽셀로 리사이즈 하지만 비율을 유지하며 큰사이즈 비율 기준으로 image_out.jpg를 생성한다.

    convert image_org.jpg -resize 800x600\! -quality 100 image_out.jpg
    [설명] image_org.jpg  이미지를 800x600픽셀로 강제적으로 바꾸어 image_out.jpg를 생성한다.
    [설명] "-quality 100"이란 옵션을 주면 품질을 최대한 좋게한다.
     

    회전
    convert image_org.png -matte -background none -rotate 90  image_out.png
    [설명] 이미지를 90도 회전하고 나머지 영역은 투명하게한다.

    convert image_org.png -matte -background none -rotate -15  image_out.png
    [설명] 이미지를 -15도 회전하고 나머지 영역은 투명하게한다.


    좌우반전,상하반전
    convert -flop image_org.jpg  image_out.jpg
    [설명] image_org.jpg  이미지를 좌우반전시켜 image_out.jpg 이미지를 생성한다.

    convert -flip image_org.jpg  image_out.jpg
    [설명] image_org.jpg  이미지를 상하반전시켜 image_out.jpg 이미지를 생성한다.

     
    흑백,갈색 효과
    convert image_org.jpg -colorspace gray image_out.jpg
    [설명] image_org.jpg  이미지를 흑백효과를 적용하고 image_out.jpg 이미지를 생성한다.

    convert image_org.jpg -sepia-tone 80% image_out.jpg
    [설명] image_org.jpg  이미지를 갈색효과를 적용하고 image_out.jpg 이미지를 생성한다.
     

    밝게,어둡게
    convert image_org.jpg -sigmoidal-contrast 3,0% image_out.jpg
    [설명] image_org.jpg  이미지를 밝게하여 image_out.jpg 이미지를 생성한다.

    convert image_org.jpg -sigmoidal-contrast 3,100% image_out.jpg
    [설명] image_org.jpg  이미지를 어둡게하여 image_out.jpg 이미지를 생성한다.
     

    자르기(crop)
    convert image_org.jpg -crop 800x600+10+20  image_out.jpg
    [설명] image_org.jpg를 Left 10픽셀 Top 20픽셀 부터 800x600픽셀까지  자르고 그 결과로 image_out.jpg 이미지를 생성한다.

    convert image_org.jpg -crop 800x600+10-30  image_out.jpg
    [설명] image_org.jpg를 Left 10픽셀 Top -30픽셀 부터 800x600픽셀까지  자르고 그 결과로 image_out.jpg 이미지를 생성한다.


    캔버스생성
    convert -size 800x600 xc:white image_out.jpg
    [설명] 800x600픽셀인 흰색 image_out.jpg 이미지를 생성한다.

    convert -size 800x600 xc:skyblue image_out.gif
    [설명] 800x600픽셀인 하늘색 image_out.jpg 이미지를 생성한다.

    convert -size 800x600 xc:none image_out.png
    [설명] 800x600픽셀인 투명 image_out.png 이미지를 생성한다.

     

    글자이미지생성
    convert -background white -fill black -font batang.ttf -pointsize 36 label:"Test\n한글" image_out.png
    [설명] "Test\n한글"이란 글자로 image_out.png 이미지를 생성한다. (이미지배경은 흰색, 글자색은 검정색, 폰트는 바탕, 폰트사이즈는 36pt)

     
    이미지합성
    composite -dissolve 60 -geometry +50+100 image_temp.png image_org.jpg image_out.jpg
    [설명] image_temp.png 이미지를 투명도 60%로 하여 image_org.jpg의 50,100 픽셀 좌표에 올려 합성후 image_out.jpg 이미지를 생성한다.

    기타 자세한 설명은 http://www.imagemagick.org/Usage/를 참고시면 됩니다.

    Library 사용에 대한 좀 더 자세한 내용은 추후에 다루고자 한다.

    'iPhone' 카테고리의 다른 글

    iPhone SDK: A Beginner's Guide  (0) 2010.08.25
    [iPhone App Dev Issue]  (0) 2010.08.13
    iPhone – Create a Message Box Using UIAlertView  (1) 2010.08.13
    iPhone용 Open Source 모음  (0) 2010.08.11
    Windows OS에서 Object-C 컴파일 해보기!  (1) 2010.07.09
Designed by Tistory.