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

空间尺度分析_特征尺度的选取原则特征点尺度变换高斯核是唯一可以产生多尺度空间的核,高斯模板具有圆对称性,通过高斯卷积操作对原始像素值重新分配权重,距离中心越远的相邻像素值权重分配相对较小。二维矩阵变换的高斯平滑操作可以通过在水平和竖直方向上分别进行一维高斯矩阵变换相加得到。尺度是自然客观存在的,不是主观创造的,高斯卷积只是表现尺度空间的一种形式。示例代码如下: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]);
        }
    }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm和python idle区别_python新手入门使用自带的IDLE、用pycharm还是visual studio ?…[通俗易懂]

    pycharm和python idle区别_python新手入门使用自带的IDLE、用pycharm还是visual studio ?…[通俗易懂]绝对是VisualStudioCode不信?看图呗输入关键字立马知道用法导入库时有库名提示使用函数的时候有参数提示各种快捷键让你如虎添翼主题随心换更有丰富的扩展以文件夹为单位的项目管理时间线让你清楚地了解代码的变动结合git工具完美地进行项目管理你说,我不用VisualStudioCode用谁呢?什么?你说Pycharm?Pycharm有我VisualStudioCode好看吗?什么…

    2022年8月26日
    3
  • SpringCloud(六)—OpenFeign的执行流程以及配置时需要注意的点

    SpringCloud(六)—OpenFeign的执行流程以及配置时需要注意的点

    2020年11月12日
    359
  • Keras中创建LSTM模型的步骤[通俗易懂]

    Keras中创建LSTM模型的步骤[通俗易懂]目录写在前面概述环境1、定义网络2、编译网络3、训练网络4、评估网络5、进行预测一个LSTM示例总结写在前面本文是对The5StepLife-CycleforLongShort-TermMemoryModelsinKeras的翻译,新手博主,边学边记,以便后续温习,或者对他人有所帮助概述深度学习神经网络在Python中很容易使用Keras创建和评估,但您必须遵循严格的模型生命周期。在这篇文章中,您将了解创建、训练和评估Keras中长期记忆(LSTM)循环神经网络的分步生

    2022年9月4日
    3
  • 什么是Web Service(SOAP)?

    什么是Web Service(SOAP)?SOAP请求(SimpleObjectAccessProtocol,简单对象访问协议)是HTTPPOST的一个专用版本,遵循一种特殊的XML消息格式,Content-type设置为:text/xml,任何数据都可以XML化。SOAP:简单对象访问协议。SOAP是一种轻量的,简单的,基于XML的协议,它被设计成在web上交换结构化的和固化的信息。SOAP可以和现存的许多因特网协议和格式结合…

    2022年7月24日
    5
  • 多媒体开发之—h264 图像参数级语义

    多媒体开发之—h264 图像参数级语义

    2021年8月31日
    48
  • 零基础学Java(12)静态字段与静态方法

    零基础学Java(12)静态字段与静态方法静态字段与静态方法之前我们都定义的main方法都被标记了static修饰符,那到底是什么意思?下面我们来看看静态字段如果将一个字段定义为static,每个类只有一个这样的字段。而对于非静态的实例

    2022年8月7日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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