Traitement d'image Golang : Apprenez à obtenir l'effet de flou gaussien des images
Introduction :
Le traitement d'image joue un rôle important dans le domaine de la vision par ordinateur. En traitement d'image, le flou gaussien est une technique couramment utilisée pour flouter les images afin de réduire le bruit et les détails de l'image. Dans cet article, nous apprendrons comment utiliser Golang pour obtenir l'effet de flou gaussien des images, avec des exemples de code.
go version
Si les informations de version de Golang s'affichent, l'installation est réussie.
golang.org/x/image/draw
et github.com/anthonynsimon/bild /blur</ code> Ces deux packages de dépendances. Ces deux packages peuvent être téléchargés et importés avec la commande suivante : <code>golang.org/x/image/draw
和 github.com/anthonynsimon/bild/blur
这两个依赖包。可以通过以下命令来下载和导入这两个包: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
高斯模糊处理将以模糊半径为 10.0 的方式应用于待处理的图片,处理后的图片将保存为 output.jpg
。可以通过打开 output.jpg
来查看处理后的图片效果。
结论:
本文介绍了如何使用 Golang 实现图片的高斯模糊效果。通过使用 github.com/anthonynsimon/bild/blur
包中的 blur.Gaussian
gaussianBlur
, qui reçoit une image et un rayon de flou en paramètres, et utilise blur.Gaussian code> effectue un traitement du flou gaussien. Ensuite, nous avons ouvert un fichier image dans la fonction <code>main
et flouté l'image en appelant la fonction gaussianBlur
. Enfin, nous enregistrons l'image floue dans le fichier de sortie. 🎜input.jpg
, puis exécutez la commande suivante dans le terminal ou l'invite de commande pour exécuter le programme : 🎜 🎜rrreee🎜 Le traitement du flou gaussien sera appliqué à l'image à traiter avec un rayon de flou de 10,0, et l'image traitée sera enregistrée sous output.jpg
. Vous pouvez visualiser l'effet de l'image traitée en ouvrant output.jpg
. 🎜🎜Conclusion : 🎜Cet article explique comment utiliser Golang pour obtenir l'effet de flou gaussien des images. En utilisant la méthode blur.Gaussian
dans le package github.com/anthonynsimon/bild/blur
, nous pouvons facilement effectuer un traitement de flou gaussien sur l'image. J'espère que cet article pourra vous aider à apprendre le traitement d'image. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!