From ae2d8ad09f2a62ab2803425db6432c30a0e42a2b Mon Sep 17 00:00:00 2001 From: fumiama Date: Tue, 10 Aug 2021 18:00:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0samediff?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- storage.go | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 47dc361..5b03333 100644 --- a/README.md +++ b/README.md @@ -14,8 +14,8 @@ Get hamming distance between two dhash strings Scan all images like 编码后哈希.webp ### func Pick(exclude []string) string Pick a random image -### func Saveimgbytes(b []byte, imgdir string, uid string, force bool) (string, string) -### func Saveimg(r io.Reader, imgdir string, uid string) (string, string) +### func Saveimgbytes(b []byte, imgdir string, uid string, force bool, samediff int) (string, string) +### func Saveimg(r io.Reader, imgdir string, uid string, samediff int) (string, string) Save image into imgdir with name like 编码后哈希.webp Return value: status, dhash ### func Addimage(name string) diff --git a/storage.go b/storage.go index a61b879..5979732 100644 --- a/storage.go +++ b/storage.go @@ -70,7 +70,7 @@ func Addimage(name string) { } // Saveimgbytes Save image into imgdir with name like 编码后哈希.webp Return value: status, dhash -func Saveimgbytes(b []byte, imgdir string, uid string, force bool) (string, string) { +func Saveimgbytes(b []byte, imgdir string, uid string, force bool, samediff int) (string, string) { r := bytes.NewReader(b) img, _, err := image.Decode(r) iswebp := false @@ -95,7 +95,7 @@ func Saveimgbytes(b []byte, imgdir string, uid string, force bool) (string, stri } else { for _, name := range images["sum"] { diff, err := HammDistance(dh, name) - if err == nil && diff < 10 { // 认为是一张图片 + if err == nil && diff < samediff { // 认为是一张图片 log.Debugf("[saveimg] old %s.\n", name) return "\"stat\":\"exist\", \"img\": \"" + url.QueryEscape(name) + "\"", name } @@ -127,10 +127,10 @@ func Saveimgbytes(b []byte, imgdir string, uid string, force bool) (string, stri } // Saveimg Save image into imgdir with name like 编码后哈希.webp Return value: status, dhash -func Saveimg(r io.Reader, imgdir string, uid string) (string, string) { +func Saveimg(r io.Reader, imgdir string, uid string, samediff int) (string, string) { imgbuff := make([]byte, 1024*1024) // 1m r.Read(imgbuff) - return Saveimgbytes(imgbuff, imgdir, uid, false) + return Saveimgbytes(imgbuff, imgdir, uid, false, samediff) } // Scanimgs Scan all images like 编码后哈希.webp