Golang : Grayscale Image
Another feature that I like about this Disintegration Imaging package is the ability to generate grayscaled image. The codes below will demonstrate how to quickly turn an image into grayscale version.
package main
import (
"fmt"
"github.com/disintegration/imaging"
"os"
"runtime"
)
func main() {
// maximize CPU usage for maximum performance
runtime.GOMAXPROCS(runtime.NumCPU())
// load original image
img, err := imaging.Open("./big.jpg")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
// grayscale the image
grayimg := imaging.Grayscale(img)
// save grayscaled image
err = imaging.Save(grayimg, "./grayscaled.png")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
// everything ok
fmt.Println("Done")
}
big.jpg
grayscaled.png
References :
See also : Golang : Generate thumbnails from images
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+12.8k Elastic Search : Mapping date format and sort by date
+20.4k Golang : Match strings by wildcard patterns with filepath.Match() function
+5.8k Golang : Calculate BMI and risk category
+12k Golang : How to get a user home directory path?
+34k Golang : Validate IP address
+5.5k Golang : Derive cryptographic key from passwords with Argon2
+10.3k Get form post value in Go
+12.6k Android Studio : Use image as AlertDialog title with custom layout example
+14.8k Golang : Get IP addresses of a domain name
+8.6k Golang : Sort and reverse sort a slice of floats
+22.6k Golang : Upload to S3 with official aws-sdk-go package
+7.8k Golang : automatically figure out array length(size) with three dots