/** * Tests similarity-calculation with a simple pHash-algorithm. This approach is less reliable than * similarity-calculation via image-signature, it is more likely to give false positives / * negatives if one of the given images is a cutout from the other * * @throws Exception */ @Test public void testSimilaritySimpleHashGreyscale() throws Exception { if (similar1a != null && similar1b != null && different != null && similar2b != null && similar2a != null) { assertTrue(ImageSimilarity.identifyImageSimilarityBasedOnPHash(similar1b, similar1a) >= .7); assertTrue(ImageSimilarity.identifyImageSimilarityBasedOnPHash(similar2b, similar2a) >= .7); assertTrue(ImageSimilarity.identifyImageSimilarityBasedOnPHash(similar1b, different) < .7); assertTrue(ImageSimilarity.identifyImageSimilarityBasedOnPHash(similar1b, different) < .7); assertEquals( ImageSimilarity.identifyImageSimilarityBasedOnPHash(different, different), 1, 0.00001); } }