美文网首页
纯Java实现的图像检索

纯Java实现的图像检索

作者: 烨枫_邱 | 来源:发表于2018-01-03 18:42 被阅读0次

    大家已经熟知了著名的TemplateMatching算法,可以实现在大图中找小图。现实使用中可能会苦恼TM算法强依赖于OpenCV的动态链接库,环境稍有问题就会运行失败,因此,有人会问了,有没有纯Java或者C#的方法来处理得到图片检索的功能呢?答案是肯定的。下面介绍一种纯Java的方法:

    首先,定义一张源图(此处叫小图),再定义一张新截取的图(此处叫大图),然后还是原先介绍过的操作,必然第一步要将RGB值读进来。(图像对比很大程度上是像素数据的处理,记住这句话)

    确定主要方法

    然后,就可以在大图中找小图了!找的方法如果是从源图的左上角到右下角硬找的话,估计机器耗时会很久,不推荐这种方法;下面介绍一种稍微巧妙的方式,将小图的四个角的像素对象留下,在大图中按4个角的色值去检索,当然这个检索的结果可能返回一个x,y也可能返回一堆的candidate。因此接下来,需要在发现图中去进行全面比对,废话不多说,核心代码如下:

    请勿转载

    总结:此法比较适合在同一种分辨率为前提的图形中进行比较,小图尺寸无缩放且同比例截取自源图,稍有变化则不灵,但好处是精准。灵活性不够。为了提高灵活性则需要考虑在小图全局比较的时候引入阈值的概念,譬如95%以上的相似度则认为检索成功等(此处稍改代码即可实现),再往上提高则需要做分辨率的文章了,小编目前还没有成型的Demo,留下作业以后找机会实现。

    相关文章

      网友评论

          本文标题:纯Java实现的图像检索

          本文链接:https://www.haomeiwen.com/subject/buhknxtx.html