Golang 画像処理: 写真のガウスぼかし効果を実現する方法を学びます
はじめに:
画像処理は、コンピューター ビジョンの分野で重要な役割を果たします。画像処理では、ガウスぼかしは、画像をぼかし、画像内のノイズとディテールを低減するために一般的に使用される手法です。この記事では、Golang を使用して画像のガウスぼかし効果を実現する方法をコード例とともに学びます。
go version
Golang のバージョン情報が表示されれば、インストールは成功です。
golang.org/x/image/draw
と をインポートする必要があります。 github.com/ anthonynsimon/bild/blur
これら 2 つの依存関係パッケージ。これら 2 つのパッケージは、次のコマンドを使用してダウンロードおよびインポートできます: go get golang.org/x/image/draw go get github.com/anthonynsimon/bild/blur
package main import ( "fmt" "image" "image/jpeg" "os" "github.com/anthonynsimon/bild/blur" "golang.org/x/image/draw" ) func gaussianBlur(img image.Image, radius float64) image.Image { bounds := img.Bounds() blurImg := image.NewRGBA(bounds) draw.Draw(blurImg, bounds, img, image.Point{}, draw.Src) blur.Gaussian(blurImg, radius) return blurImg } func main() { filePath := "input.jpg" outputPath := "output.jpg" // 打开图片文件 file, err := os.Open(filePath) if err != nil { fmt.Println("无法打开图片文件:", err) return } defer file.Close() img, err := jpeg.Decode(file) if err != nil { fmt.Println("无法解码图片:", err) return } // 进行高斯模糊处理 blurImg := gaussianBlur(img, 10.0) // 创建输出文件 outputFile, err := os.Create(outputPath) if err != nil { fmt.Println("无法创建输出文件:", err) return } defer outputFile.Close() // 将模糊后的图片保存到输出文件 jpeg.Encode(outputFile, blurImg, nil) fmt.Println("高斯模糊完成,输出文件为", outputPath) }
上記のコードでは、最初に gaussianBlur
という名前の関数を定義します。この関数はパラメータとして画像とぼかし半径を受け取り、 を使用します。 Blur.Gaussian
メソッドはガウスぼかし処理を実行します。次に、main
関数で画像ファイルを開き、gaussianBlur
関数を呼び出して画像をぼかします。最後に、ぼやけた画像を出力ファイルに保存します。
input.jpg
という名前を付け、ターミナルまたはコマンド プロンプトで次のコマンドを実行してプログラムを実行します。 go run main.go
output.jpgとして保存します。
output.jpg を開くと、処理された画像効果を確認できます。
この記事では、Golang を使用して画像のガウスぼかし効果を実現する方法を紹介します。
github.com/anthonynsimon/bild/blur パッケージの
blur.Gaussian メソッドを使用すると、画像に対してガウスぼかし処理を簡単に実行できます。この記事が画像処理の学習に役立つことを願っています。
以上がGolang 画像処理: 画像にガウスぼかし効果を実現する方法を学びますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。