[Haskell] ANN: blockhash-0.1.0.0
KwangYul Seo
kwangyul.seo at gmail.com
Tue Jul 19 04:07:54 UTC 2016
Hi all!
I'm pleased to announce the first release of blockhash, a perceptual image
hash calculation tool based on algorithm described in Block Mean Value
Based Image Perceptual Hashing by Bian Yang, Fan Gu and Xiamu Niu.
https://hackage.haskell.org/package/blockhash
https://github.com/kseo/blockhash
Program:
Usage: blockhash [-q|--quick] [-b|--bits ARG] filenames
blockhash
Available options:
-h,--help Show this help text
-q,--quick Use quick hashing method
-b,--bits ARG Create hash of size N^2 bits.
Library:
import qualified Codec.Picture as P
import Data.Blockhash
import qualified Data.Vector.Generic as VG
import qualified Data.Vector.Unboxed as V
printHash :: FilePath -> IO ()
printHash :: filename = do
res <- P.readImage filename
case res of
Left err -> putStrLn ("Fail to read: " ++ filename)
Right dynamicImage -> do
let rgbaImage = P.convertRGBA8 dynamicImage
pixels = VG.convert (P.imageData rgbaImage)
image = Image { imagePixels = pixels
, imageWidth = P.imageWidth rgbaImage
, imageHeight = P.imageHeight rgbaImage }
hash = blockhash image 16 Precise
putStrLn (show hash)
For further information on the blockhash algorithm, please visit the web
site:
http://blockhash.io/
Thanks,
Kwang Yul Seo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell/attachments/20160719/6e94ccf2/attachment.html>
More information about the Haskell
mailing list