이미지 처리 기본 (iOS 표준 이미지 클래스 프레임웍)

2016-10-05
23 Views

Homebrew등의 이미지 처리를 다양하게 올라와 있지만 그것들을 사용하기 전에 기본적으로 알아야할 이미지 처리 기본 내용을 정리해보았다.

개발환경

  • Xcode 8
  • Swift 3.0

이미지 클래스

  • UIImage
    • UIKit 프레임웍 클래스
    • 주로 기존 이미지를 사용한 처리를 한다
    • 길이와 위치 지정은 point단위로 한다
    • 주로 view와의 교환에 사용한다
  • CGImage
    • CoreGraphics 프레임웍 클래스
    • 원래 도형등을 그리고 싶을 때 사용한다
    • 길이와 위치 지정은 pixel단위로 한다
    • 이미지 가공 및 픽셀처리를 할 경우 사용하며 IN/OUT이 CGImage가 된다
  • CIImage
    • CoreImage 프레임웍 클래스
    • 이미지에 필터 및 이펙트를 사용할 때 이용한다

이미지 처리 프레임웍

CoreGraphics 프레임웍

UIImageView 및 UIImage등의 기존 이미지를 사용한 처리가 아니라, 원래 도형등을 그리고 싶을 때 사용하며 이미지 자체를 가공하고 싶을 때도 사용한다.

자르려는 이미지의 원본 이미지 x,y,w,h를 체크하여 잘라낼 이미지 범위를 설정한다. 그외 픽셀단위로 색상을 가져오거나 이미즈를 만들거나 그림을 그리는 방법도 있다.

만약, 픽셀단위 정보를 가져오고 이미비지 분석용으로 생각한다면 OpenCV를 사용한다.

CoreImage 프레임웍

이미지를 필터링할 때 이용하며 필터종류는 iOS9까지 170가지가 지원되고 있었다.

CIFilter에 필터명을 문자열로 지정하여 인스턴스를 생성하며 위 예제처럼 CISepiaTone등의 값을 설정하면 처리된다. 필터명과 지정하는 값은 애플 공식 정보(Core Image Filter Reference)를 참고하여 실행해보자.

 

 

Facebook Comments

You may be interested

[Swift3] 폐쇄(Closure)에 대해 살짝 이해할 수 있는 팁
Swift 3.0
shares11 views
Swift 3.0
shares11 views

[Swift3] 폐쇄(Closure)에 대해 살짝 이해할 수 있는 팁

MJ Kim - 4월 29, 2017

몇몇 개발자를 만나 개발을 하다보면, 폐쇄(Closure)에 대해 이해를 하지 못해서 간단하게 바로 이해할 수 있는 팁을 정리해본다. 앱을 개발하다보면 https통신을…

[Swift3] UITextview의 keyboard 닫기
Swift 3.0
shares2 views
Swift 3.0
shares2 views

[Swift3] UITextview의 keyboard 닫기

MJ Kim - 4월 29, 2017

스토리보드에서 델리게이트를 선언하고 class에 UITextViewDelegate를 상속받아서 delegate=self를 viewDidLoad에서 설정하면 간단하게 해결되는데 가끔 헷깔려 하는 경우가 있어 적어본다. [crayon-5904f4dc2f4c4408761762/] [crayon-5904f4dc2f4c9573056694/] [crayon-5904f4dc2f4cb388069269/]…

스토리보드에서 다국어 지원 및 Xcode 8.3이상에서 이슈
Swift 3.0
shares5 views
Swift 3.0
shares5 views

스토리보드에서 다국어 지원 및 Xcode 8.3이상에서 이슈

MJ Kim - 4월 29, 2017

다국어 지원은 우선 Localizable.strings파일을 생성한 다음 언어를 지정한다. 그리고 필자가 자주 사용하는 일부 컨트롤들에 대한 확장(extension)을 추가한 다음 스토리보드에서 사용하는…