    001package javax.visrec.ml.detection;
    002
    003import javax.visrec.util.BoundingBox;
    004import java.util.List;
    005import java.util.Map;
    006
    007/**
    008 * Interface to perform object detection in image.
    009 * Returns a map of object labels/classes and corresponding location in image outlined by BoundingBox-es
    010 *
    011 * @author Zoran Sevarac
    012 * @param <T> Class used to represent image that will be analyzed
    013 * @since 1.0
    014 */
    015@FunctionalInterface
    016public interface ObjectDetector<T> {
    017
    018    /**
    019     * Detects object in specified image
    020     *
    021     * @param image image to search for object
    022     * @return a map of multiple {@link BoundingBox}
    023     */
    024    Map<String, List<BoundingBox>> detectObject(T image);
    025
    026}