Golang 画像処理: フィルター効果を追加する方法を学ぶ
はじめに: 画像処理はプログラム開発における一般的な要件の 1 つであり、画像処理に Golang を使用することも重要です。効率的で使いやすい方法。この記事では、Golang を使用して画像にフィルター効果を追加する方法をコード例とともに紹介します。
1. 環境の準備
開始する前に、Golang 開発環境が正しくインストールされ、画像処理に関連する依存ライブラリがインストールされていることを確認してください。
go get -u github.com/golang/image
2. フィルター効果を追加します
これで、次のことが可能になります。 start 画像にフィルター効果を追加する方法を学びます。以下に、グレースケール フィルターとぼかしフィルターという 2 つの一般的なフィルター効果を紹介します。
グレースケール フィルターは画像を白黒に変換します。以下は、Golang を使用してグレースケール フィルター効果を実装するコード例です。
package main import ( "image" "image/color" "image/jpeg" "image/png" "log" "os" ) func main() { // 打开图像文件 file, err := os.Open("input.jpg") if err != nil { log.Fatal(err) } defer file.Close() // 解码图像 img, err := jpeg.Decode(file) if err != nil { log.Fatal(err) } // 创建灰度图像 grayImg := image.NewGray(img.Bounds()) // 将每个像素点转换为灰度色彩 for x := 0; x < img.Bounds().Max.X; x++ { for y := 0; y < img.Bounds().Max.Y; y++ { gray := color.GrayModel.Convert(img.At(x, y)).(color.Gray) grayImg.Set(x, y, gray) } } // 创建输出图像文件 outFile, err := os.Create("output_gray.jpg") if err != nil { log.Fatal(err) } defer outFile.Close() // 编码并保存图像文件 err = jpeg.Encode(outFile, grayImg, &jpeg.Options{Quality: 100}) if err != nil { log.Fatal(err) } }
上記のコードを gray_filter.go
という名前で保存し、input.jpg## という名前を付けます。 # イメージを同じディレクトリに配置し、次のコマンドを実行します:
は、グレースケール フィルター効果が追加された画像です。
package main import ( "image" "image/jpeg" "image/png" "log" "os" "github.com/anthonynsimon/bild/blur" ) func main() { // 打开图像文件 file, err := os.Open("input.jpg") if err != nil { log.Fatal(err) } defer file.Close() // 解码图像 img, err := jpeg.Decode(file) if err != nil { log.Fatal(err) } // 创建模糊图像 blurredImg := blur.Gaussian(img, 10.0) // 创建输出图像文件 outFile, err := os.Create("output_blur.jpg") if err != nil { log.Fatal(err) } defer outFile.Close() // 编码并保存图像文件 err = jpeg.Encode(outFile, blurredImg, &jpeg.Options{Quality: 100}) if err != nil { log.Fatal(err) } }
上記のコードを
blur_filter.go として保存し、input.jpg
Place という名前を付けます。イメージを同じディレクトリに配置し、次のコマンドを実行します。 go run Blur_filter.go
操作が成功すると、同じディレクトリに ## という名前のイメージが取得されます。 #output_blur のイメージ.jpg
はぼかしフィルター効果を追加した画像です。要約:
以上がGolang 画像処理: フィルター効果を追加する方法を学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。