package com.alibaba.simpleimage.analyze.testbed;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import javax.imageio.ImageIO;
import com.alibaba.simpleimage.analyze.harissurf.HarrisSurf;
import com.alibaba.simpleimage.analyze.harissurf.SURFInterestPoint;
public class HarrisTest {
public static void main(String[] args) throws IOException {
BufferedImage bi = ImageIO.read(new File("/Users/axman/Downloads/logo/img/alipay_logo1.png"));
HarrisSurf tempalte_hs = new HarrisSurf(bi);
tempalte_hs.getDescriptions(tempalte_hs.detectInterestPoints(), false);
List<SURFInterestPoint> al = tempalte_hs.getInterestPoints();
BufferedImage bi1 = ImageIO.read(new File("/Users/axman/Downloads/logo/img/alipay_logo1.png"));
long start = System.currentTimeMillis();
for (int i = 0; i < 100; i++) {
HarrisSurf tempalte_hs1 = new HarrisSurf(bi1);
tempalte_hs1.getDescriptions(tempalte_hs.detectInterestPoints(), false);
List<SURFInterestPoint> al1 = tempalte_hs1.getInterestPoints();
Map<SURFInterestPoint, SURFInterestPoint> ms = HarrisSurf.match(al, al1);
HarrisSurf.joinsFilter(ms);
HarrisSurf.geometricFilter(ms, bi.getWidth(), bi.getHeight());
//System.out.println(ms.size());
}
System.out.println((System.currentTimeMillis() - start) / 100);
}
static int rgb2gray(int srgb) {
int r = (srgb >> 16) & 0xFF;
int g = (srgb >> 8) & 0xFF;
int b = srgb & 0xFF;
return (int) (0.299 * r + 0.587 * g + 0.114 * b);
}
}