All Projects → corona10 → Goimagehash

corona10 / Goimagehash

Licence: bsd-2-clause
Go Perceptual image hashing package

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Goimagehash

Dhash
Python library to calculate the difference hash (perceptual hash) for a given image, useful for detecting duplicates
Stars: ✭ 209 (-46.55%)
Mutual labels:  hash, image
Name That Hash
🔗 Don't know what type of hash it is? Name That Hash will name that hash type! 🤖 Identify MD5, SHA256 and 3000+ other hashes ☄ Comes with a neat web app 🔥
Stars: ✭ 540 (+38.11%)
Mutual labels:  hacktoberfest, hash
Imagehash
🌄 Perceptual image hashing for PHP
Stars: ✭ 1,744 (+346.04%)
Mutual labels:  hash, image
Flickrsync
A command line tool to synchronise, upload, download, pictures between the local file system and Flickr. Image hash signature of the picture is used to uniquely identify the image.
Stars: ✭ 14 (-96.42%)
Mutual labels:  hash, image
Yii2 Imagine
Yii 2 imagine extension
Stars: ✭ 271 (-30.69%)
Mutual labels:  hacktoberfest, image
Imgcat
It's like cat, but for images.
Stars: ✭ 577 (+47.57%)
Mutual labels:  hacktoberfest, image
Imgcat
a tool to output images as RGB ANSI graphics on the terminal
Stars: ✭ 425 (+8.7%)
Mutual labels:  hacktoberfest, image
Kiimagepager
The KIImagePager is inspired by foursquare's ImageSlideshow, the user may scroll through images loaded from the Web
Stars: ✭ 324 (-17.14%)
Mutual labels:  hacktoberfest, image
Magick.net
The .NET library for ImageMagick
Stars: ✭ 2,071 (+429.67%)
Mutual labels:  hacktoberfest, image
Imagemagick
🧙‍♂️ ImageMagick 7
Stars: ✭ 6,400 (+1536.83%)
Mutual labels:  hacktoberfest, image
Hashids.js
A small JavaScript library to generate YouTube-like ids from numbers.
Stars: ✭ 3,525 (+801.53%)
Mutual labels:  hacktoberfest, hash
Node Html To Image
A Node.js module that generates images from HTML
Stars: ✭ 351 (-10.23%)
Mutual labels:  hacktoberfest, image
Gdlauncher
GDLauncher is a simple, yet powerful Minecraft custom launcher with a strong focus on the user experience
Stars: ✭ 386 (-1.28%)
Mutual labels:  hacktoberfest
Uidevicecomplete
UIDevice extensions that fill in the missing pieces.
Stars: ✭ 390 (-0.26%)
Mutual labels:  hacktoberfest
Tev
High dynamic range (HDR) image comparison tool for graphics people. With an emphasis on OpenEXR images.
Stars: ✭ 384 (-1.79%)
Mutual labels:  image
Online Judge
A modern open-source online judge and contest platform system.
Stars: ✭ 384 (-1.79%)
Mutual labels:  hacktoberfest
Mumble
Mumble is an open-source, low-latency, high quality voice chat software.
Stars: ✭ 4,418 (+1029.92%)
Mutual labels:  hacktoberfest
Btorrent
🌐 Fully-featured WebTorrent Client
Stars: ✭ 388 (-0.77%)
Mutual labels:  hacktoberfest
Simple Notes
A simple textfield for adding quick notes without ads.
Stars: ✭ 386 (-1.28%)
Mutual labels:  hacktoberfest
Flow Typed
A central repository for Flow library definitions
Stars: ✭ 3,772 (+864.71%)
Mutual labels:  hacktoberfest

GitHub Action GoDoc Go Report Card

goimagehash

Inspired by imagehash

A image hashing library written in Go. ImageHash supports:

Installation

go get github.com/corona10/goimagehash

Special thanks to

Usage

func main() {
        file1, _ := os.Open("sample1.jpg")
        file2, _ := os.Open("sample2.jpg")
        defer file1.Close()
        defer file2.Close()

        img1, _ := jpeg.Decode(file1)
        img2, _ := jpeg.Decode(file2)
        hash1, _ := goimagehash.AverageHash(img1)
        hash2, _ := goimagehash.AverageHash(img2)
        distance, _ := hash1.Distance(hash2)
        fmt.Printf("Distance between images: %v\n", distance)

        hash1, _ = goimagehash.DifferenceHash(img1)
        hash2, _ = goimagehash.DifferenceHash(img2)
        distance, _ = hash1.Distance(hash2)
        fmt.Printf("Distance between images: %v\n", distance)
        width, height := 8, 8
        hash3, _ = goimagehash.ExtAverageHash(img1, width, height)
        hash4, _ = goimagehash.ExtAverageHash(img2, width, height)
        distance, _ = hash3.Distance(hash4)
        fmt.Printf("Distance between images: %v\n", distance)
        fmt.Printf("hash3 bit size: %v\n", hash3.Bits())
        fmt.Printf("hash4 bit size: %v\n", hash4.Bits())

        var b bytes.Buffer
        foo := bufio.NewWriter(&b)
        _ = hash4.Dump(foo)
        foo.Flush()
        bar := bufio.NewReader(&b)
        hash5, _ := goimagehash.LoadExtImageHash(bar)
}

Release Note

v1.0.3

  • Add workflow for GithubAction
  • Fix typo on the GoDoc for LoadImageHash

v1.0.2

  • go.mod is now used for install goimagehash

v1.0.1

  • Perception/ExtPerception hash creation times are reduced

v1.0.0

IMPORTANT goimagehash v1.0.0 does not have compatible with the before version for future features

v0.3.0

  • Support DifferenceHashExtend.
  • Support AverageHashExtend.
  • Support PerceptionHashExtend by @TokyoWolFrog.

v0.2.0

  • Perception Hash is updated.
  • Fix a critical bug of finding median value.

v0.1.0

  • Support Average hashing
  • Support Difference hashing
  • Support Perception hashing
  • Use bits.OnesCount64 for computing Hamming distance by @dominikh
  • Support hex serialization methods to ImageHash by @brunoro
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].