空间尺度分析_特征尺度的选取原则

空间尺度分析_特征尺度的选取原则特征点尺度变换高斯核是唯一可以产生多尺度空间的核,高斯模板具有圆对称性,通过高斯卷积操作对原始像素值重新分配权重,距离中心越远的相邻像素值权重分配相对较小。二维矩阵变换的高斯平滑操作可以通过在水平和竖直方向上分别进行一维高斯矩阵变换相加得到。尺度是自然客观存在的,不是主观创造的,高斯卷积只是表现尺度空间的一种形式。示例代码如下:voidCreateScaleSpace(cv::M…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

特征点尺度变换

高斯核是唯一可以产生多尺度空间的核,高斯模板具有圆对称性,通过高斯卷积操作对原始像素值重新分配权重,距离中心越远的相邻像素值权重分配相对较小。二维矩阵变换的高斯平滑操作可以通过在水平和竖直方向上分别进行一维高斯矩阵变换相加得到。尺度是自然客观存在的,不是主观创造的,高斯卷积只是表现尺度空间的一种形式。
示例代码如下:

void CreateScaleSpace(cv::Mat srcImage,
    std::vector< std::vector<Mat> > &ScaleSpace,
    std::vector< std::vector<Mat> > &DoG)
{
    cv::Size ksize(5, 5);
    double sigma; Mat srcBlurMat, up, down;
    // 高斯平滑
    GaussianBlur(srcImage, srcBlurMat, ksize, 0.5);//输入图像;输出图像;高斯核;x方向上的方差;y方向为0则与 x方向相同
    // 金字塔
    pyrUp(srcBlurMat, up);//向上采样,扩大两倍
    up.copyTo(ScaleSpace[0][0]);
    // 高斯平滑
    GaussianBlur(ScaleSpace[0][0], ScaleSpace[0][0], ksize, 1.0);
    // 图像遍历
    for (int i = 0; i < 4; i++)//四层向下采样金字塔[0,1,2,3]
    {
        // 平滑因子
        double sigma = 1.4142135;  
        for (int j = 0; j < 5+2; j++)
        {
            sigma = sigma * pow(2.0,j/2.0) ;//pow:2^(j/2)
            // 对下一尺度进行进行高斯操作
            GaussianBlur(ScaleSpace[i][j], 
                ScaleSpace[i][j+1], ksize, sigma);//根据不同的平滑因子进行平滑,做差生成特征点
            // 多尺度空间生成
            DoG[i][j] = ScaleSpace[i][j] - ScaleSpace[i][j+1];
            // cout<<"iave:"<<i<<" Scale:"<<j<<"size:"<< 
            // ScaleSpace[i][j].rows<<"x"<<ScaleSpace[i][j].cols<<endl;
        }
        // 如果不能完成,继续进行金字塔操作
        if (i < 3)//下采样生成图像金字塔
        {
            pyrDown(ScaleSpace[i][0], down);
            down.copyTo(ScaleSpace[i+1][0]);
        }
    }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/182074.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Android 屏幕适配之框架(AndroidAutoSize)(今日头条)适配

    Android 屏幕适配之框架(AndroidAutoSize)(今日头条)适配AndroidAutoSize框架 1.链接https://github.com/JessYanCoding/AndroidAutoSize 2.使用 2.1.添加Gradle配置implementation’me.jessyan:autosize:1.1.2′  2.2.添加AndroidManifest配置&lt;manifest&gt;…

  • qt中整型转化成字符串_字符串转double

    qt中整型转化成字符串_字符串转double程序中需要将整型转换为字符串QString类型,看了看QString的构造函数,没有直接以int类型为参数的。很奇怪,Qt一直给人感觉做什么都很方便,怎么会没有直接将整型转换为字符串的方法呢?难道还得自己写?过一段时间后终于顿悟了,其实用QString的arg()函数可以完美解决其他类型转换为字符串的问题。只需要:intintValue;QStringstrValue;

    2022年10月19日
  • 日期控件选择条件控制只能选择当前日期之前或当前日期之后

    日期控件选择条件控制只能选择当前日期之前或当前日期之后

  • .NET中pdb文件的作用是什么「建议收藏」

    .NET中pdb文件的作用是什么「建议收藏」.PDB是ProgramDatabase的缩写,全称为“程序数据库”文件。我们使用它(更确切的说是看到它被应用)大多数场景是调试应用程序。目前我们对.PDB文件的普遍认知是它存储了被编译文件的调试信息,作为符号文件存在。 PDB文件寻路 如果我们观察VS启动调试加载模块和符号文件的过程,会发现它通常会从可执行文件或者DLL文件的相同目录中加载符号文件。这正是调试器寻找PDB文件的

  • 首次备案图文引导

    首次备案图文引导

  • github邮箱验证不了_为什么github注册不成功

    github邮箱验证不了_为什么github注册不成功要使用github必须先注册个github账号,注册之后会有一个邮箱验证的步骤需要做但是如果你使用126,163或者其它的一些免费邮箱,极有可能是收不到邮箱的,这个就麻烦了不过,qq邮箱目前是可以使用的,         不过也可能出现收不到的情况,那就换个qq邮箱再试,         如果还不行,换个时间段再试;   

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号