Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pemprosesan Imej Golang: Ketahui Cara Menambah Kesan Penapis

Pemprosesan Imej Golang: Ketahui Cara Menambah Kesan Penapis

PHPz
PHPzasal
2023-08-19 11:35:00881semak imbas

Pemprosesan Imej Golang: Ketahui Cara Menambah Kesan Penapis

Pemprosesan Imej Golang: Ketahui cara menambah kesan penapis

Pengenalan: Pemprosesan imej ialah salah satu keperluan biasa dalam pembangunan program, dan menggunakan Golang untuk pemprosesan imej juga merupakan cara yang cekap dan mudah digunakan. Artikel ini akan memperkenalkan cara menggunakan Golang untuk menambah kesan penapis pada imej, dengan contoh kod.

1. Persediaan persekitaran

Sebelum bermula, pastikan persekitaran pembangunan Golang telah dipasang dengan betul dan perpustakaan bergantung yang berkaitan dengan pemprosesan imej telah dipasang.

  1. Pasang Golang: Layari laman web rasmi https://golang.org/, muat turun dan pasang Golang mengikut sistem pengendalian.
  2. Pasang perpustakaan pergantungan pemprosesan imej: Terdapat perpustakaan pemprosesan imej yang berkuasa di Golang yang dipanggil "imej", yang mempunyai banyak kaedah terbina dalam untuk memproses imej. Anda boleh menggunakan arahan berikut untuk memasang:

go dapatkan -u github.com/golang/image

2. Tambah kesan penapis

Kini, kita boleh mula belajar cara menambah kesan penapis pada imej. Di bawah kami akan memperkenalkan dua kesan penapis biasa: penapis skala kelabu dan penapis kabur.

  1. Penapis Skala Kelabu

Penapis Skala Kelabu menukar imej kepada warna hitam dan putih. Berikut ialah contoh kod untuk menggunakan Golang untuk melaksanakan kesan penapis skala kelabu:

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)
    }
}

Simpan kod di atas sebagai gray_filter.go dan salin fail bernama input.jpg Letakkan imej dalam direktori yang sama dan jalankan arahan berikut: 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

Selepas operasi berjaya, anda akan mendapat fail bernama output_gray.jpg dalam direktori yang sama Imej ialah imej dengan tambahan kesan penapis skala kelabu.

    Penapis kabur🎜🎜🎜Penapis kabur boleh menjadikan imej kelihatan lebih lembut dan kabur. Berikut ialah contoh kod untuk menggunakan Golang untuk melaksanakan kesan penapis kabur: 🎜rrreee🎜Simpan kod di atas sebagai blur_filter.go dan imej bernama input.jpg Letakkannya dalam direktori tahap yang sama dan jalankan arahan berikut: 🎜🎜pergi jalankan blur_filter.go🎜🎜Selepas operasi berjaya, anda akan mendapat imej bernama output_blur.jpg dalam direktori tahap yang sama, iaitu, imej dengan kesan penapis kabur ditambah. 🎜🎜Ringkasan: 🎜🎜Dengan mempelajari kod pelaksanaan dua kesan penapis di atas, saya percaya pembaca sudah boleh memahami cara menggunakan Golang untuk pemprosesan imej dan menambah kesan penapis. Golang menyediakan pelbagai kaedah pemprosesan imej dan perpustakaan, dan pembangun boleh menggunakan fungsi ini untuk melaksanakan tugas pemprosesan imej yang lebih menarik dan praktikal. Harap artikel ini dapat membantu anda! 🎜

Atas ialah kandungan terperinci Pemprosesan Imej Golang: Ketahui Cara Menambah Kesan Penapis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn