专栏首页微卡智享C++ OpenCV特征提取之自定义角点检测器(一)

C++ OpenCV特征提取之自定义角点检测器(一)

前言

我们在前面学习了《C++ OpenCV特征提取之Harris角点检测》和《C++ OpenCV特征提取之Shi-Tomasi角点检测》,今天我们再来学习一下自定义角点检测器。

自定义角点检测器简介

  • 基于Harris与Shi-Tomasi角点检测
  • 首先通过计算矩阵M得到

两个特征值根据他们得到角点响应值

  • 然后自己设置阈值实现计算出阈值得到有效响应值的角点设置

相关API

C++: void cornerEigenValsAndVecs(

InputArray src, --单通道输入8位或浮点图像

OutputArray dst, --输出图像,同源图像或CV_32FC(6)

int blockSize, --邻域大小值

int apertureSize, --Sobel算子的参数

int borderType=BORDER_DEFAULT --像素外插方法

)

C++: void cornerMinEigenVal(

InputArray src, --单通道输入8位或浮点图像

OutputArray dst, --图像存储的最小特征值。类型为CV_32FC1

int blockSize, --邻域大小值

int apertureSize=3, --Sobel算子的参数

int borderType=BORDER_DEFAULT --像素外插方法

)


代码演示

我们再新建一个项目名为opencv--cornereigen,按照配置属性(VS2017配置OpenCV通用属性),然后在源文件写入#include和main方法

这章我们试试Harris自定义检测

首先定义相关的参数

我们要先定义输出的最大最小值,一个响应图,还有创建Trackbar用到的值和方法。都定义在上面是因为需要在TrackBar里调用。

然后在运行项目里面定义基本邻域,能过我们的API cornerEigenValsAndVecs获得到输出图像

再根据输出的图像计算响应值,并且计算出最大最小值。

然后在目标窗口中增加一个TrackBar

上面是TrackBar的滑动事件。


输出结果


-END-

本文分享自微信公众号 - 微卡智享(VaccaeShare),作者:Vaccae

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-06-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C++创建动态库C#调用(二)----回调函数的使用

    上一篇《C++创建动态库C#调用》我们练习了C++写的动态库用C#的调用方法,后来研究回调函数这块,就想练习一下回调函数的使用,学习并巩固一下,话不多说,我们直...

    Vaccae
  • Android OpenCV(四):绘制几何图形

    参数九:lineType,边界的类型,可取值为FILLED ,LINE_4 ,LINE_8 和LINE_AA

    Vaccae
  • 分享|C# 中yield关键字解析

      前段时间了解到yield关键字,一直觉得还不错。今天给大家分享一下yield关键字的用法。yield return 返回集合不是一次性返回所有集合元素,而是...

    Vaccae
  • BZOJ2216: [Poi2011]Lightning Conductor(DP 决策单调性)

    首先把给出的式子移项,我们要求的$P_i = max(a_j + \sqrt{|i - j|}) - a_i$。

    attack
  • codevs 1664 清凉冷水

    1664 清凉冷水 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description      ...

    attack
  • P2015 二叉苹果树

    题目描述 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1...

    attack
  • 凸包问题

    定义1:平面上的点集,如果以该集合中的任意两点P和Q为端点构成的线段属于该集合,就称该集合是凸的。

    zy010101
  • hdu portal(经典)

    这是一道好题,让我又学了一个新的知识,离线算法+并查集 题意:先给出图,求存在多少路径使得花费T小于L,T的定义是u,v亮点的所有路径的最大边的最小值 (Unf...

    用户1624346
  • 从位图原理到布隆过滤器的实现

    假设一个int占4个字节(32位),40个亿个整数就是160亿个字节,大概相当于16GB,假设一台计算机只有2GB内存,则16GB一次加载不完,需要分8次加载,...

    evenleo
  • BZOJ4484: [Jsoi2015]最小表示(拓扑排序乱搞+bitset)

    Description 【故事背景】 还记得去年JYY所研究的强连通分量的问题吗?去年的题目里,JYY研究了对于有向图的“加边”问题。对于图论有着强烈兴趣的J...

    attack

扫码关注云+社区

领取腾讯云代金券