为了账号安全,请及时绑定邮箱和手机立即绑定

检查图像与OpenCV的相似性

检查图像与OpenCV的相似性

检查图像与OpenCV的相似性OpenCV是否支持两个图像的比较,返回一些值(可能是百分比),表示这些图像有多相似?例如,如果相同的图像被传递两次将返回100%,如果图像完全不同则将返回0%。我已经在StackOverflow上阅读了很多类似的主题。我也做了一些谷歌搜索。可悲的是,我无法想出一个令人满意的答案。
查看完整描述

3 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

如果匹配相同的图像(相同的大小/方向)

// Compare two images by getting the L2 error (square-root of sum of squared error).double getSimilarity( const Mat A, const Mat B ) {if ( A.rows > 0 && A.rows == B.rows && A.cols > 0 && A.cols == B.cols ) {
    // Calculate the L2 relative error between images.
    double errorL2 = norm( A, B, CV_L2 );
    // Convert to a reasonable scale, since L2 error is summed across all pixels of the image.
    double similarity = errorL2 / (double)( A.rows * A.cols );
    return similarity;}else {
    //Images have a different size
    return 100000000.0;  // Return a bad value}

资源


查看完整回答
反对 回复 2019-07-29
  • 3 回答
  • 0 关注
  • 643 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信