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.
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.
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
的图像,即为添加灰度滤镜效果的图像。
模糊滤镜可以使图像看起来更加柔和和模糊。以下是使用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
dalam direktori yang sama Imej ialah imej dengan tambahan kesan penapis skala kelabu.
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!