[go] go 언어에서의 이미지 흐림 효과

이미지 프로세싱은 컴퓨터 비전 및 그래픽 디자인에 많이 활용되는 기술 중 하나입니다. 이번에는 Go 언어를 사용하여 이미지에 흐림 효과를 적용하는 방법에 대해 알아보겠습니다.

이미지 라이브러리 선택

Go 언어에서 이미지 프로세싱을 위한 많은 라이브러리가 있지만, 이 예시에서는 github.com/disintegration/gift 라이브러리를 사용해보겠습니다. 이 라이브러리는 필터, 크기 조정, 회전 및 반전과 같은 다양한 이미지 변환 기능을 제공합니다.

import (
    "github.com/disintegration/gift"
    "image"
    "os"
)

이미지 불러오기

먼저, 이미지를 불러와야 합니다. image.Decode 함수를 사용하여 이미지 파일을 열고, gift.New 함수를 사용하여 이미지 변환을 위한 필터를 생성합니다.

// 이미지 로드
file, _ := os.Open("input.jpg")
defer file.Close()
src, _, _ := image.Decode(file)

// 이미지 변환을 위한 필터 생성
g := gift.New(
    gift.Blur(3),
)

이미지 변환 적용

이제 생성한 필터를 사용하여 이미지에 흐림 효과를 적용합니다. Draw 함수를 사용하여 이미지를 변환하고, Save 함수를 사용하여 새 이미지를 파일로 저장합니다.

// 이미지 변환 적용
dst := image.NewRGBA(g.Bounds(src.Bounds()))
g.Draw(dst, src)

// 새 이미지 저장
output, _ := os.Create("output.jpg")
defer output.Close()
jpeg.Encode(output, dst, nil)

결과 확인

위의 코드를 실행하고 나면, 이제 output.jpg 파일에 흐림 효과가 적용된 이미지를 확인할 수 있습니다.

이제 Go 언어를 사용하여 이미지에 흐림 효과를 적용하는 방법에 대해 간략하게 알아보았습니다. Go 언어로 이미지 프로세싱을 할 때에는 github.com/disintegration/gift 라이브러리를 활용하면 편리하게 다양한 이미지 변환을 적용할 수 있습니다.

참고 자료