美文网首页
用 OpenCV histogram 比较图片相似度

用 OpenCV histogram 比较图片相似度

作者: 钱肥肥 | 来源:发表于2018-07-05 07:04 被阅读0次

最近一个项目需要比较两个图片的相似度,查找比较了一下觉得可以用OpenCV的histogram信息来比较两个图片的相似度。OpenCV的官网上有一些Python接口的信息,但是没有很好得整合起来。

首先需要用OpenCV来读取图片的信息:

Python: cv2.imread(filename[, flags]) → retval

然后用calcHist方法来获取图片的Histogram:

Python: cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate]]) → hist¶

接下来用compareHist比较两张图片的Histogram:

Python: cv2.compareHist(H1, H2, method)

这边的method是不同的evaluation matrix,有如下五种可以选:

CV_COMP_CORREL Correlation
CV_COMP_CHISQR Chi-Square
CV_COMP_INTERSECT Intersection
CV_COMP_BHATTACHARYYA Bhattacharyya distance
CV_COMP_HELLINGER Synonym for CV_COMP_BHATTACHARYYA

所以接下来我们可以将整个流程完整的连接起来:

def compare_image(filepath1, filepath2):
    image1 = cv.imread(filepath1)
    hist1 = cv2.calcHist([image1], [0], None, [256], [0, 256])
    image2 = cv.imread(filepath2)
    hist2 = cv2.calcHist([image2], [0], None, [256], [0, 256])

    return cv2.compareHist(hist1, hist2, CV_COMP_CORREL)

相关文章

  • 用 OpenCV histogram 比较图片相似度

    最近一个项目需要比较两个图片的相似度,查找比较了一下觉得可以用OpenCV的histogram信息来比较两个图片的...

  • OpenCV 相似图搜索学习笔记(一)

    学习目标 找出目标图集中相似度最高的图片; 开发环境 JDK 8, OpenCV 2.3.14, Windows ...

  • 【OpenCvSharp学习 图片相似度比较】

    原理就是把两个图片转化为大小相同的灰度图,然后相减,再和原图比较一下算法有不足,但是基本满足需求,希望能抛砖引玉 ...

  • OpenCV-iOS计算图片相似度

    简书更新停留在17年????? demo下载 需求分析: 1、寻宝活动,商家藏宝并将场景拍照上传至服务器,用户根据...

  • 图片查重

    OpenCV—python 图像相似度算法(dHash,方差)

  • 图片相似度判断

    1.https://zhuanlan.zhihu.com/p/68215900为了得到两张相似的图片,在这里通过以...

  • 图片相似性比较

    图片相似性比较 主要分成以下几个步骤 缩小图片尺寸:将图片缩小到一定尺寸(一般是8*8)。去除图像细节,只保留结构...

  • 用python+OpenCV去除图片水印

    用python+OpenCV去除图片水印 python+OpenCV不仅能用来为图片添加水印logo,还能用来去除...

  • 图片识别之图片相似度

    参看文档:Google 以图搜图 - 相似图片搜索原理 - Java实现 本文主要涉及到: 1.扫描图片,获取图片...

  • 实践:SSDEEP相似度比较

    2020/06/03 - 其实一开始的时候,我是想看看,他们都是使用什么特征来进行比较。。。 今天下午就想找一些相...

网友评论

      本文标题:用 OpenCV histogram 比较图片相似度

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