[go] go 언어에서의 이미지 해상도 조절

Go 언어를 사용하여 이미지 처리를 하는 경우, 이미지의 해상도를 조절하는 작업은 자주 이루어집니다. 이번 글에서는 Go 언어에서 이미지 해상도를 조절하는 방법에 대해 알아보겠습니다.

이미지 해상도 조절하기

Go 언어의 이미지 처리 패키지를 사용하여 이미지의 해상도를 조절할 수 있습니다. 이미지의 해상도를 조절하는 과정은 이미지의 너비와 높이를 변경하는 작업을 포함합니다.

다음은 Go 언어를 사용하여 이미지의 해상도를 조절하는 간단한 예제 코드입니다.

package main

import (
	"image"
	"image/jpeg"
	"os"
)

func main() {
	// 이미지 파일 열기
	file, err := os.Open("input.jpg")
	if err != nil {
		panic(err)
	}
	defer file.Close()

	// 이미지 디코딩
	img, _, err := image.Decode(file)
	if err != nil {
		panic(err)
	}

	// 이미지 해상도 조절
	newImg := ResizeImage(img, 800, 600)

	// 새로운 이미지 파일 저장
	newFile, err := os.Create("output.jpg")
	if err != nil {
		panic(err)
	}
	defer newFile.Close()
	jpeg.Encode(newFile, newImg, &jpeg.Options{Quality: 100})
}

// 이미지 해상도 조절 함수
func ResizeImage(img image.Image, width, height int) image.Image {
	newImg := image.NewRGBA(image.Rect(0, 0, width, height))
	draw.CatmullRom.Scale(newImg, newImg.Bounds(), img, img.Bounds(), draw.Src, nil)
	return newImg
}

위 코드는 input.jpg 이미지 파일을 열고, 이미지를 디코딩한 후에 800x600 사이즈로 해상도를 조절하여 output.jpg 파일로 저장하는 예제입니다.

결론

이미지 처리를 할 때는 고언어의 이미지 처리 패키지들을 활용하여 이미지의 해상도를 조절할 수 있습니다. 이미지의 해상도를 변경함으로써 필요에 맞는 이미지 처리 작업을 수행할 수 있습니다.

위의 예제 코드 외에도 이미지 처리에 관련된 다양한 작업을 Go 언어로 처리할 수 있으며, 이미지 처리 패키지 공식 문서에서 더 자세한 정보를 확인할 수 있습니다.