精华内容
下载资源
问答
  • 彩色图像相似性比较算法
  • 图像相似性匹配 快速算法

    万次阅读 2018-10-18 15:59:06
    尽管phash、dhash对ahash做出了改进,但其实这类算法的适用范围还是局限于不同缩放比例的图像相似性比较,对于旋转,移动,及变化较大,但其实还是同一个物体的相似性比较就比较差。其在大规模搜索引擎中找到极其...

    需求是库内存有部分版权图片,现在搜索网上是否有侵权图片。因此从网上跑去大量图片和库内的版权图片比较,由于比较数量大,对效率有一定的要求。
    方法1: 关键点匹配(Keypoint Matching)
    一张图像的某些部位可能蕴含比其它部位更多的信息,如边缘,角点。因此我们可以利用一些算法提取图像的关键点信息进行比较。SIFT,ORB,SURF,GIST都是此类提取关键点信息算法。这些算法的准确率要高,但同时不可避免的在运算复杂度上较为复杂。
    图像特征检测描述(一):SIFT、SURF、ORB、HOG、LBP特征的原理概述及OpenCV代码实现
    特征匹配,sift,surf,orb,brisk,brief
    SIFT,SURF,ORB,FAST 特征提取算法比较
    比较各种算法的论文
    特征匹配之Brute-Force 匹配和FLANN 匹配器
    python实现sift——flann
    特征点匹配+特征检测方法汇总
    图像拼接之特征点匹配–距离筛选,余弦角筛选,相似度和ransac筛选
    python 官方教程

    方法2: 直方图统计(Histogram method)

    方法3: 关键点+决策树(Keypoints + Decision Trees)

    方法4: 哈希算法(Hash)
    最简单的方法是直接使用哈希算法(md5、 sha-1)算法对整个图片哈希。但是缺点明显,只要图片内容有些许改变,md5值就不同。因此需要对图片的某种特征特性进行hash,感知哈希算法(Perceptual Hash Algorithm)就是专门针对此问题的算法。感知哈希算法是一类算法的总称,包括aHash、pHash、dHash。感知哈希不是以严格的方式计算Hash值,而是以更加相对的方式计算哈希值,因为“相似”与否,就是一种相对的判定。尽管phash、dhash对ahash做出了改进,但其实这类算法的适用范围还是局限于不同缩放比例的图像的相似性比较,对于旋转,移动,及变化较大,但其实还是同一个物体的相似性比较就比较差。其在大规模搜索引擎中找到极其相似的图像比较容易,对于语义上的相似比较还是很困难的。
    aHash:平均值哈希。速度比较快,但是常常不太精确。
    pHash:感知哈希。精确度比较高,但是速度方面较差一些。
    dHash:差异值哈希。精确度较高,且速度也非常快。
    相似性︱python+opencv实现pHash算法+hamming距离(simhash)(三)
    基于感知哈希算法的视觉目标跟踪 - C++实现
    Google 以图搜图 - 相似图片搜索原理 - Java实现
    相似图片搜索的原理
    PHash 作者原文
    PHash开源库
    python︱imagehash中的四种图像哈希方式(phash/ahash/dhash/小波hash)
    相似图片检测:感知哈希算法之dHash的Python实现
    hash算法demo,可以快速测试你的task是否符合hash算法
    工程实践思路:老司机带你检测相似图片
    Hash算法缺点所在
    其他:

    实例检索︱图像的实例搜索(文献、方法描述、商业案例)
    图像检索:基于内容的图像检索技术

    在这里插入图片描述

    展开全文
  • 图像相似度计算就是对两幅图片之间内容的相似程度进行打分,根据分数的高低来判断图像内容的相似程度,这也是图像分类的基础。如下面这幅图像的两位人头虎身兽,用不同的算法进行相似度计算,相似度在60%~87%之间~~...

    一。基本概念   

        图像相似度计算就是对两幅图片之间内容的相似程度进行打分,根据分数的高低来判断图像内容的相似程度,这也是图像分类的基础。如下面这幅图像的两位人头虎身兽,用不同的算法进行相似度计算,相似度在60%~87%之间~~

     

    二。算法总结

    计算图像相似度的算法有很多,常见的有以下几种:

    1。基于直方图。直方图能够描述一幅图像中颜色的全局分布,是一种入门级的图像相似度计算方法。该算法计算过程很容易理解,首先对于两幅图像分别计算其直方图,然后根据某种衡量标准进行比较,比较结果即为两幅图像的相似度。这种方法精度较差。

    2。SSIM(结构相似性度量)。这是一种全参考的图像质量评价指标,分别从亮度、对比度、结构三个方面度量图像相似性。SSIM取值范围[0, 1],值越大,表示图像失真越小。在实际应用中,可以利用滑动窗将图像分块,令分块总数为N,考虑到窗口形状对分块的影响,采用高斯加权计算每一窗口的均值、方差以及协方差,然后计算对应块的结构相似度SSIM,最后将平均值作为两图像的结构相似性度量,即平均结构相似性SSIM。该方法通常用来衡量一张图片压缩后的失真度,比较少的用来计算两图的相似度。

    3。cosin相似度(余弦相似度)。把图片表示成一个向量,通过计算向量之间的余弦距离来表征两张图片的相似度。该方法运算量较大,但准确率尚可。

    4。基于互信息(Mutual Information)。通过计算两个图片的互信息来表征他们之间的相似度,如果两张图片尺寸相同,还是能在一定程度上表征两张图片的相似性的。但是,大部分情况下图片的尺寸不相同,如果把两张图片尺寸调成相同的话,又会让原来很多的信息丢失,所以很难把握。经过实际验证,此种方法不够稳定。

    工作室基于Matlab软件平台,分别利用上述方法实现了计算特定数据集图片的相似程度,对于某一对图像组,其用直方图算法对比的结果如下:

    3.png

     

    最后,也欢迎大家关注我们的微信公众号:320科技工作室

     

     

     

    展开全文
  • 图像质量评估算法 SSIM(结构相似性)

    万次阅读 多人点赞 2017-04-13 16:50:51
    SSIM的全称为structural similarity index,即为结构相似性,是一种衡量两幅图像相似度的指标。该指标首先由德州大学奥斯丁分校的图像和视频工程实验室(Laboratory for Image and Video Engineering)提出。而如果...

    SSIM的全称为structural similarity index,即为结构相似性,是一种衡量两幅图像相似度的指标。该指标首先由德州大学奥斯丁分校的图像和视频工程实验室(Laboratory for Image and Video Engineering)提出。而如果两幅图像是压缩前和压缩后的图像,那么SSIM算法就可以用来评估压缩后的图像质量。

    SSIM如何表征相似性:
    先给出一组公式:
    这里写图片描述

    uX、uY分别表示图像X和Y的均值,σX、σY分别表示图像X和Y的标准差,σX*σX、σY*σY(实在打不出上标啊,理解万岁)分别表示图像X和Y的方差。σXY代表图像X和Y协方差。C1,C2和C3为常数,是为了避免分母为0而维持稳定。通常取C1=(K1*L)^2, C2=(K2*L)^2, C3=C2/2, 一般地K1=0.01, K2=0.03, L=255( 是像素值的动态范围,一般都取为255)

    最后的SSIM指数为:
    这里写图片描述

    当我们设定C3=C2/2时,我们可以将公式改写成更加简单的形式:
    这里写图片描述

    所以结构相似度指数从图像组成的角度将结构信息定义为独立于亮度、对比度的反映场景中物体结构的属性,并将失真建模为亮度、对比度和结构三个不同因素的组合。用均值作为亮度的估计,标准差作为对比度的估计,协方差作为结构相似程度的度量。

    如何求得均值,方差与标准差:
    这里写图片描述

    而在实际应用中,一般采用高斯函数计算图像的均值、方差以及协方差,而不是采用遍历像素点的方式,以换来更高的效率。

    下面的链接我们将用一个简单的程序实现SSIM算法,并作出对比实验:
    http://blog.csdn.net/chaipp0607/article/details/70160307

    展开全文
  • 针对基于自示例几何不变性的图像超分辨率算法没有充分利用图像的纹理和边缘信息,且采用的PatchMatch图像块匹配算法容易陷入局部极小点的问题,提出了一种基于改进PatchMatch的自相似性图像超分辨率算法。...
  • 针对图像去噪过程中存在边缘保持与噪声抑制之间的矛盾,提出了一种基于变指数的片相似性扩散图像降噪算法算法基于变指数的自适应降噪模型,引入片相似性的思想,构造出新的边缘检测算子和扩散系数函数。传统的各项...
  • 基于位置关联相似性的匿名算法:基于位置关联相似性的匿名算法[J]. 张磊,马春光,杨松涛.中国科技论文. 2016(02)张磊;马春光;杨松涛.基于位置关联相似性的匿名算法.中国科技论文.2016...|下载前务必先预览,自己验证...
  • 针对最佳伙伴相似性(BBS)图像匹配算法计算复杂度高、目标定位不准确等问题,提出了一种改进的图像匹配算法。根据模板图像的尺寸自适应选择图像分块大小,以减少匹配点集中点的数目,从而减小BBS算法的运算量;根据子块的...
  • 为了能够有效地重构出高分辨率图像,提出一种基于图像局部自相似性的超分辨率快速重构算法。该算法首先利用四叉树分割的知识对低分辨率图像进行自适应分块;然后利用低分辨率图像和高分辨率图像在局部区域内的自相似性...
  • 针对单幅图像超分辨率(SR)复原样本资源不足和抗噪差的问题,提出一种基于结构自相似和形变块特征的单幅图像超分辨率算法。首先,该方法通过构建尺度模型,尽可能地扩展搜索空间,克服单幅图像超分辨率训练样本不足的...
  • void perceptron_code(Mat src, int w, int h, int* result) { src.convertTo(src, CV_32F, 1.0 / 255); Mat grayDCT; dct(src, grayDCT); grayDCT = grayDCT.rowRange(0, h).colRange(0,w);...
    void perceptron_code(Mat src, int w, int h, int* result)
    {
        src.convertTo(src, CV_32F, 1.0 / 255);
        Mat grayDCT;
        dct(src, grayDCT);
        grayDCT = grayDCT.rowRange(0, h).colRange(0,w);
    
        float meanV = 0.0;
        for (int i = 0; i < h; i++)
        {
            float *pData = grayDCT.ptr<float>(i);
            for (int j = 0; j < w; j++)
            {          
                meanV += pData[j];
            }
        }
        meanV /= (w * h);
    
        for (int i = 0; i < h; i++)
        {
            for (int j = 0; j < grayDCT.cols; j++)
            {
                if (grayDCT.at<float>(i, j) >= meanV)
                {
                    result[i * w + j] = 1;
                }
                else
                {
                    result[i * w + j] = 0;
                }
            }            
        }
        
    }
    
    int main(int argc, char **argv)
    {
        Mat src1 = imread("./image1.jpg", 0);
        if (src1.empty())
        {
            cout << "Can not load the image1.jpg..." << endl;
            return -1;
        }
        Mat src2 = imread("./image2.jpg", 0);
        if (src2.empty())
        {
            cout << "Can not load the image2.jpg..." << endl;
            return -1;
        }
    
        const int resize_w = 8;
        const int resize_h = 8;
        int *result1 = new int[resize_w * resize_h];
        int *result2 = new int[resize_w * resize_h];
        perceptron_code(src1, resize_w, resize_h, result1);
        perceptron_code(src2, resize_w, resize_h, result2);
    
        int matchNum = 0;
        for (int i = 0; i < resize_w * resize_h; i++)
        {
            if (result1[i] == result2[i])
            {
                matchNum++;
            }
        }
        float correlation = 1.0 * matchNum / (resize_w * resize_h);
    
        cout << "The two image correlation is " << correlation << endl;
        delete(result1);
        delete(result2);
        return 0;
    }

     

    输出为:The two image correlation is 0.78125

     

     

    展开全文
  • 一种结合空间相似性和RPCA的高光谱图像去噪算法
  • 图像质量评估算法,结构相似性(SSIM),matlab代码(亲测可使用),用于图像质量评价,原始图像与处理后的图像计算它们的峰值信噪比,比值越高越优。 SSIM 公式基于样本 x 和 y 之间的三个比较衡量:亮度 (luminance)...
  • SSIM结构相似性算法

    2020-12-18 12:42:00
    结构相似性,是一种衡量两幅图像相似度的指标,通常用作图像质量评估,在图像重建、压缩领域,可以计算输出图像与原图的差距。 MSE 有很多算法可以计算输出图像与原图的差距,其中最常用的一种是 Mean Square Error ...
  • 本文提出了一种结合稀疏表示与结构自相似性的单幅图像盲解卷积算法, 该算法图像的稀疏性先验和结构自相似性先验作为正则化约束加入到图像盲解卷积的目标函数中, 并利用图像不同尺度间的结构自相似性, 将观测模糊...
  • 在对现有椒盐噪声中值滤波算法分析的基础上,提出了基于梯度相似性的椒盐噪声图像加权中值滤波算法。利用灰度图像窗口内各个像素点灰度值的差异,将含有椒盐噪声的图像分为疑似噪声点和信号点,然后利用窗口像素点的...
  • 为了克服传统的遥感图像匹配算法低鲁棒性的缺陷,本文对传统序贯相似性检测算法进行改进。首先,定义噪声敏感度,自适应判定像素点是否为噪声,并对噪声点进行预处理;其次,计算每个像素点的梯度方向,与初始设定的梯度...
  • 图像相似性搜索思路

    千次阅读 2018-06-26 22:48:56
    为什么做图像相似性搜索?通过图像找相似性比较容易。应用场景:通过图片找相似作品。比如足迹可以使用。新发布作品,通过图片找最相似的作品。各种推荐场景,可以把图像相似性的特征用在计算相似作品上面。算法思路...
  • 图像相似性判别 -------哈希算法

    千次阅读 2018-07-05 10:48:24
    1、平均哈希算法(aHash) 此算法是基于比较灰度图每个像素与平均值来实现的步骤:1.缩放图片:为了保留结构去掉细节,去除大小、横纵比的差异,把图片统一缩放到8*8,共64个像素的图片。2.转化为灰度图:把缩放后...
  • 针对通过外部学习进行超分辨率存在图像质量不佳、细节不真实的问题提出一种压缩感知和相似性约束的单帧图像超分辨率算法算法首先利用压缩感知中测量域与频域的线性关系对训练库图像在测量域分类,对不同类别图像块...
  • 隐含相似性配准从图像间存在结构上的相似性出发,将传统复杂的特征匹配过程简化为特征点集的迁移和仅需在单幅图像上对配准参数进行迭代搜索的过程,为光学和SAR图像配准提供新的思路.基于上述配准思想,研究用Canny...
  • 图像相似性度量

    万次阅读 2013-01-06 11:33:10
    图像相似性度量 【转载】原文出处:http://blog.sina.com.cn/s/blog_4a540be60100vjae.html   图像相似度计算主要用于对于两幅图像之间内容的相似程度进行打分,根据分数的高低来判断图像内容的相近程度。  ...
  • 在手术引导治疗中,2D/3D图像配准能辅助医生准确定位病人病灶,而准确的配准涉及相似性测度和优化算法等众多方面。为了研究相似性测度和优化算法对2D/3D图像刚性配准的影响,本文结合6种相似性测度和4种优化方法在...
  • OpenCV 实现SSIM结构相似性算法

    万次阅读 2017-04-13 17:38:11
    SSIM算法的介绍: http://blog.csdn.net/chaipp0607/article/details/70158835代码做了一下处理: (1)设置两组对比试验,将原图进行核为5*5的滤波,与原图比较求得SSIM指数。将原图进行核为10*10的滤波,与原图...
  • 针对传统外极线约束的匹配算法存在误匹配率、漏匹配率较高的问题,提出了基于图像相似几何特征的双目匹配检验和筛选算法。利用外极线几何约束算法获得不共外极线和共外极线的初始匹配点。根据左右图像正确的匹配点...
  • 摘要 该文推导和定义了一种基于正交 Proscrustes 问题的图像相似性。此图像 相似度是指一幅图像 “旋入” 另一幅图像的概率;同时简要地提供了图像相似度的 算法 , 并将该算法用于船舶检测和人脸的分类检索。实验结果...
  • VC++ mfc,基于序贯相似性算法SSDA的图像匹配识别定位程序、测试图片及源代码
  • SSIM---结构相似性算法(OpenCV+Python)

    千次阅读 2020-07-10 19:24:31
    SSIM---结构相似性算法一.SSIM算法原理二.skimage.metrics包下的SSIM算法 一.SSIM算法原理 SSIM(structural similarity),结构相似性,是一种衡量两幅图像相似度的指标。SSIM算法主要用于检测两张相同尺寸的图像的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,486
精华内容 594
关键字:

图像相似性算法