OpenCV 论坛已经有几天不可用了,所以我在这里发布这个问题。我想用 C++ 实现一个类,该类将分析图像并确定该图像对于特征跟踪的好坏程度。
Vuforia 已经解释了一种方法。
https://developer.vuforia.com/library/articles/Solution/Natural-Features-and-Ratings
1)特征数量
计算返回的特征数量,假设至少需要 30 个特征。
2)局部对比
方差可以作为衡量图像中有多少变化的起点。要充分利用该指标,需要进行何种预处理?
我们如何改进这一点?使用 FT 或 DFT 变换,是否可以查看在许多不同的图像频率下是否存在高对比度?如何实现?
DFT -> 方差 (?)
3)特征分布
这可以通过聚类、合适的中心和均值+s.d 来完成。这与图像尺寸相当。 95% 应在平均值 + 2 x s.d 范围内。理想情况下。
4)避免有机形状
这不会产生任何特征,因此与特征数量的标准相同。
5) 避免重复模式
将检测到的特征与自身进行匹配,并确保没有太多重复项。
最佳答案
Vuforia 做同样的事情。
但是如果您想编写自己的代码来执行相同的操作,
ARToolkit 是为 NFT 标记提供相同功能的开源 SDK。如果你浏览 ARToolkit 的源代码,那么你 会找到类似"DisplayFeatureSet"
的内容
还有DisplayfeatureSet.exe 文件显示 所选图像的特征(热点)如:
我不知何故设法获得了源代码(.c)。 在这里,我提供我的 google Drive 链接来下载源代码,对其进行处理并分享您的经验:
Source Code to Display Feature Set
祝你好运:)
关于c++ - 图像中的 Opencv 评级特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37108628/