Traitement d'image Golang : Apprenez à ajouter des effets de filtre
Introduction : Le traitement d'image est l'une des exigences courantes dans le développement de programmes, et l'utilisation de Golang pour le traitement d'image est également un moyen efficace et facile à utiliser. Cet article explique comment utiliser Golang pour ajouter des effets de filtre aux images, avec des exemples de code.
1. Préparation de l'environnement
Avant de commencer, assurez-vous que l'environnement de développement Golang a été correctement installé et que les bibliothèques dépendantes liées au traitement d'image ont été installées.
go get -u github.com/golang/image
2. Ajouter des effets de filtre
Maintenant, nous pouvons commencer à apprendre à ajouter des effets de filtre aux images. Ci-dessous, nous présenterons deux effets de filtre courants : le filtre en niveaux de gris et le filtre de flou.
Le filtre en niveaux de gris convertit l'image en couleur noir et blanc. Voici un exemple de code permettant d'utiliser Golang pour implémenter un effet de filtre en niveaux de gris :
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) } }
Enregistrez le code ci-dessus sous gray_filter.go
et copiez un fichier nommé input.jpg
Placez l'image dans le même répertoire et exécutez la commande suivante : gray_filter.go
,并将一张名为input.jpg
的图像放在同级目录下,并运行以下命令:
go run gray_filter.go
运行成功后,你将会在同级目录下得到一张名为output_gray.jpg
的图像,即为添加灰度滤镜效果的图像。
模糊滤镜可以使图像看起来更加柔和和模糊。以下是使用Golang实现模糊滤镜效果的代码示例:
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
的图像放在同级目录下,并运行以下命令:
go run blur_filter.go
运行成功后,你将会在同级目录下得到一张名为output_blur.jpg
output_gray.jpg
dans le même répertoire. L'image est une image avec un effet de filtre en niveaux de gris ajouté.
blur_filter.go
et une image nommée input.jpg
Placez-le dans le même répertoire et exécutez la commande suivante : 🎜🎜go run blur_filter.go🎜🎜Après une opération réussie, vous obtiendrez une image nommée output_blur.jpg
dans le même répertoire, c'est-à-dire l'image avec l'effet de filtre de flou a été ajouté. 🎜🎜Résumé : 🎜🎜En apprenant les codes d'implémentation des deux effets de filtre ci-dessus, je pense que les lecteurs peuvent déjà comprendre comment utiliser Golang pour le traitement d'image et l'ajout d'effets de filtre. Golang fournit une multitude de méthodes et de bibliothèques de traitement d'image, et les développeurs peuvent utiliser ces fonctions pour effectuer des tâches de traitement d'image plus intéressantes et pratiques. J'espère que cet article pourra vous aider ! 🎜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!