golang图像处理工具库,图像相似度计算,图像二值化(golang image process lib)
目前只支持jpg,png
go get github.com/Comdex/imgo
package main import( "github.com/Comdex/imgo" ) func main(){ //如果读取出错会panic,返回图像矩阵img //img[height][width][4],height为图像高度,width为图像宽度 //img[height][width][4]为第height行第width列上像素点的RGBA数值数组,值范围为0-255 //如img[150][20][0]是150行20列处像素的红色值,img[150][20][1]是150行20列处像素的绿 //色值,img[150][20][2]是150行20列处像素的蓝色值,img[150][20][3]是150行20列处像素 //的alpha数值,一般用作不透明度参数,如果一个像素的alpha通道数值为0%,那它就是完全透明的. img:=imgo.MustRead("example/test.jpg") //对原图像矩阵进行日落效果处理 img2:=imgo.SunsetEffect(img) //保存为jpeg,100为质量,1-100 err:=imgo.SaveAsJPEG("example/new.jpg",img2,100) if err!=nil { panic(err) } }
计算两张图片的余弦相似度
cos,err:=imgo.CosineSimilarity("test1.jpg","test2.jpg") if err!=nil{ panic(err) } fmt.Println(cos)
2015年8月23日 update :添加使用感知哈希算法的GetFingerprint函数获取图片的"指纹"字符串
fp,err:=imgo.GetFingerprint("test1.jpg") if err!=nil { panic(err) } fmt.Println(fp)//输出64位的01字符串
| 原图 |
横向镜像imgo.HorizontalMirror |
|---|---|
| 日落imgo.SunsetEffect |
负片imgo.NegativeFilmEffect |
| 调整亮度imgo.AdjustBrightness |
垂直镜像imgo.VerticalMirror |
更多api及帮助请访问:http://godoc.org/github.com/Comdex/imgo