• JAVA使用Marvin在图片中搜索图片


    marvin

    Marvin是一个Java开源图像处理框架
    项目地址

    使用非常简单,按照tutorials一步一步就知道怎么部署代码。

    依赖只需要添加marvin/framework/marvin_1.5.5.jar到classpath。

    例子:

    import marvin.image.MarvinImage;
    import marvin.image.MarvinSegment;
    import marvin.io.MarvinImageIO;
    
    import java.awt.*;
    import java.io.File;
    
    import static marvin.MarvinPluginCollection.*;
    
    public class Subimage {
        public Subimage(){
            MarvinImage window = MarvinImageIO.loadImage("E:\msC_desktop\batlogo.jpg");
            MarvinImage eclipse = MarvinImageIO.loadImage("E:\msC_desktop\wxlogo.jpg");
    
            MarvinSegment seg1;
    
            int startx = 500, starty = 0;
            seg1 = findSubimage(eclipse, window, startx, starty, 0.75);
            if(seg1 != null){
                System.out.println("Found:" + seg1.x1 + " " + seg1.y1 + " "+ (seg1.x2-seg1.x1) + " height:"+(seg1.y2-seg1.y1) );
                drawRect(window, seg1.x1, seg1.y1, seg1.x2-seg1.x1, seg1.y2-seg1.y1);
                MarvinImageIO.saveImage(window, "E:\msC_desktop\window_out.png");
            }else{
                System.out.println("NOT FOUND");
            }
    
        }
        private void drawRect(MarvinImage image, int x, int y, int width, int height){
            x-=4; y-=4; width+=8; height+=8;
            image.drawRect(x, y, width, height, Color.red);
        }
        public static void main(String[] args) {
            new Subimage();
        }
    } 

    效果如下:
    marvin image search

    函数也可以查阅javadoc.

  • 相关阅读:
    python mymsql sqlalchemy
    python中 wraps 的作用
    python Subprocess的使用
    实现一个命令分发器
    实现一个cache装饰器,实现过期可清除功能
    求2个字符串的最长公共子串
    Base64编码,解码的实现
    把一个字典扁平化
    hihocoder1415 重复旋律3
    hihocoder 1407 重复旋律2
  • 原文地址:https://www.cnblogs.com/slankka/p/9158490.html
Copyright © 2020-2023  润新知