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

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


相关推荐

  • 软件测试常见面试题_软件测试面试题汇总

    软件测试常见面试题_软件测试面试题汇总Ⅰ.一个Bug1. 一条软件缺陷(或者叫Bug)记录都包含了哪些内容? 如何提交高质量的软件缺陷(Bug)记录?一条Bug记录最基本应包含:编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现Bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交B…

  • Tess4J 简单使用入门[通俗易懂]

    Tess4J 简单使用入门[通俗易懂]Tesseract-OCR支持中文识别,并且开源和提供全套的训练工具,是快速低成本开发的首选。而Tess4J则是Tesseract在JavaPC上的应用。在英文和数字识别中性能还是不错的,但是在中文识别中,无论速度还是识别率还是较弱,建议有条件的话,针对场景进行训练,会获得较好结果,本文仅对目前Tess4J的用法进行介绍。———————本文来自jian_cheng_90的CSDN博客,全文地址请点击:https://blog.csdn.net/risky

  • Docker安装RabbitMQ教程「建议收藏」

    Docker安装RabbitMQ教程「建议收藏」本章教程介绍如何利用Docker快速搭建RabbitMQ环境。目录一、拉取镜像二、运行容器三、访问测试一、拉取镜像dockerpullrabbitmq:3.7.7-management二、运行容器dockerrun-d–namerabbitmq3.7.7-p5672:5672-p15672:15672-v`pwd`/data:/var/lib/rabbitmq–hostnamemyRabbit-eRABBITMQ_DEFAUL..

  • ipv4和ipv6对比(IPV4)

    TCP/IP的心脏是互联网层,这一层主要由IP和ICMP两个协议组成。IP相当于OSI参考模型中的第三层——网络层。而网络层的作用是实现终端节点之间的通信。这种终端节点之间的通信也叫‘点到点’通信。IP地址用于连接在网络中的所有主机中识别出进行通信的目标地址。谷在tcp/ip通信的所有主机中必须设置IP地址。路由控制、多条路由和路由控制表使得数据包可以成功抵达要去的地方。路由控制表记录着此…

  • 5分钟,6行代码教你写爬虫!(python)[通俗易懂]

    5分钟,6行代码教你写爬虫!(python)[通俗易懂]5分钟,6行代码教你写会爬虫!适用人士:对数据量需求不大,简单的从网站上爬些数据。好,不浪费时间了,开始!先来个例子:输入以下代码(共6行)importrequestsfromlxmlimporthtmlurl=’https://movie.douban.com/’#需要爬数据的网址page=requests.Session().get(url)tree=html.f

  • navicat15.0.23激活码【中文破解版】2022.03.06

    (navicat15.0.23激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/ide…

发表回复

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

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