Maison  >  Article  >  développement back-end  >  Traitement d'image Golang : découvrez comment ajouter des effets de filtre

Traitement d'image Golang : découvrez comment ajouter des effets de filtre

PHPz
PHPzoriginal
2023-08-19 11:35:00931parcourir

Traitement dimage Golang : découvrez comment ajouter des effets de filtre

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.

  1. Installer Golang : Visitez le site officiel https://golang.org/, téléchargez et installez Golang en fonction du système d'exploitation.
  2. Installez la bibliothèque de dépendances de traitement d'image : il existe une puissante bibliothèque de traitement d'image dans Golang appelée "image", qui possède de nombreuses méthodes intégrées pour traiter les images. Vous pouvez utiliser la commande suivante pour installer :

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.

  1. Filtre en niveaux de gris

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的图像,即为添加灰度滤镜效果的图像。

  1. 模糊滤镜

模糊滤镜可以使图像看起来更加柔和和模糊。以下是使用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

go run gray_filter.go

Après une opération réussie, vous obtiendrez un fichier nommé output_gray.jpg dans le même répertoire. L'image est une image avec un effet de filtre en niveaux de gris ajouté.

    Filtre flou🎜🎜🎜Le filtre flou peut rendre l'image plus douce et floue. Ce qui suit est un exemple de code pour utiliser Golang pour implémenter l'effet de filtre de flou : 🎜rrreee🎜Enregistrez le code ci-dessus sous 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn