标签: feature-detection

C#OpenCV FAST特征检测

我一直无法找到关于如何使用C#和openCV进行跟踪来实现FAST功能检测算法的教程,我无法从文档中找到它.如何实现FAST特征检测和特定的特征匹配(类似于SURF特征跟踪示例).

有帮助吗?

c# opencv feature-detection

10
推荐指数
1
解决办法
3356
查看次数

opencv 3,blobdetection,函数/功能未在detectAndCompute中实现()

我有一个opencv 3的问题:我想使用一个特征检测器SimpleBlobDetector,即将使用凸度和圆度的滤镜.但是当我尝试执行代码时,会跟踪以下错误:

在detectAndCompute中未实现函数/特性()

然后应用程序崩溃.

我没有任何相关的答案在互联网上搜索信息.我认为第三版Opencv可能会对这个错误负责,因为我知道我使用探测器的方式很好(我尝试的方式与官方的opencv教程完全相同)而且我注意到SimpleBlobDector已经针对第三个版本进行了修改.

使用断点,我知道以下行崩溃:

detector.detect(灰色,关键点);

SimpleBlobDetector已创建(使用create函数)并已配置,灰色图像不为空,并且在检测之前不需要填充关键点矢量.

我使用opencv 3.0.0,使用QtCreator在MinGW中编译.opencv处理不是从主线程启动的.

其他人有同样的问题吗?如果我能使用其他课程获得补丁或其他解决方案,我将不胜感激.我真的需要使用凸度来过滤我的斑点,我发现的其他探测器(FeatureDetector或Brisk)不能配置,只返回关键点,没有面积或丰满度参数来计算凸度.

提前致谢

c++ opencv blob feature-detection

10
推荐指数
3
解决办法
1万
查看次数

ORB的实施

我刚刚使用了ORB的开源实现.

如何通过添加新模块来进一步实现ORB?

为了获得比使用ORB更好的结果,我能做些什么呢?

我正在考虑使用RANSAC来消除异常值并获得更好的结果.

我们在这一点上等待进一步实施ORB的想法.

有关圆形和三角形的Homography实现的任何想法?

feature-extraction feature-detection orb feature-descriptor

10
推荐指数
0
解决办法
418
查看次数

响应iOS中的RAM可用性

我有一个质量很重的OpenGL游戏,我想根据设备有多少RAM进行调整.最高分辨率的纹理我在iPhone 4或iPad2上运行良好,但早期的设备在加载纹理的过程中崩溃.我有这些纹理的低分辨率版本,但我需要知道何时使用它们.

我目前的策略是检测特定的旧设备(3GS有低分辨率屏幕; iPad没有摄像头),然后只加载IPad2及以上和iPhone 4及以上的高分辨率纹理 - 我想我需要为iPod touch做点事.但我更倾向于使用特征检测而不是硬编码设备模型,因为模型检测对于API和硬件的未来变化是脆弱的.

我正在考虑的另一种可能性是首先加载高分辨率纹理,然后在我得到低内存警告时丢弃并用lo-res替换它们.但是,我不确定我是否有机会回应; 我注意到应用程序经常在调试控制台上出现任何通知之前死掉.

如何检测我正在运行的设备是否有足够的RAM来加载我的纹理的高分辨率版本?

退后一步,是否还有一些我可以使用的自适应技术,这是特定于OpenGL纹理内存的?

笔记:

  1. 我搜索和关闭SO以获得与可用RAM检测相关的答案,但它们基本上都建议分析内存使用情况并消除浪费(最大限度地缩短临时工作的寿命,以及所有这些).我已经做了尽可能多的事情,而且我无法将高分辨率纹理压缩到旧设备中.

  2. PVRTC不是一种选择.纹理包含片段着色器要使用的数据,并且必须以无损格式存储.

textures opengl-es feature-detection ios

9
推荐指数
2
解决办法
3326
查看次数

opencv - 使用特征检测的对象跟踪

我想跟踪视频中的对象(例如,移动的球).参考opencv教程 - 'Features2D + Homography来查找已知对象',我已经能够通过提供参考图像在静止图像中跟踪我的对象.我打算使用参考图像从输入视频的第一帧中检测移动物体.对于下一帧,在前一帧中检测到的对象应充当参考图像,依此类推.

但我不知道如何从描述符中找回一个对象.其中包含多个对象的图像将具有多个关键点,但如何查找关键点或一组关键点属于图像中的哪个对象.

opencv feature-detection

9
推荐指数
1
解决办法
6104
查看次数

如何处理遮挡和碎片

我正在尝试使用计算机视觉实现uni项目的人数统计系统.目前,我的方法是:

  1. 使用MOG2进行背景减法
  2. 形态滤波器去除噪音
  3. 跟踪blob
  4. 计算blob通过指定区域(一行)

问题是如果人们成为团体,我的方法只算一个人.从我的阅读中,我相信这就是所谓的遮挡.另一个问题是当人们看起来与背景相似(使用深色衣服并穿过黑色柱子/墙壁)时,斑点被分开,而实际上是一个人. 在此输入图像描述

根据我的阅读,我应该实现一个探测器+跟踪器(例如使用HOG检测人类).但是我的检测结果很差(例如,50%的误报率,50%的命中率;使用OpenCV人体探测器和我自己训练的探测器),所以我不相信使用探测器作为跟踪的基础.感谢您的回答和阅读这篇文章的时间!

opencv tracking occlusion feature-detection

9
推荐指数
2
解决办法
3696
查看次数

ORB未在opencv 2.4.9中检测keyPoints

我试图用ORB检测关键点一切正常,直到我切换到Opencv 2.4.9.

第一,似乎键的数量减少了,对于某些图像,没有检测到关键点:

这是我用两个版本编译的代码:(2.3.1和2.4.9)

#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/features2d/features2d.hpp>


using namespace cv;


int main(int argc, char **argv){

  Mat img = imread(argv[1]);

  std::vector<KeyPoint> kp;

  OrbFeatureDetector detector;
  detector.detect(img, kp);
  std::cout << "Found " << kp.size() << " Keypoints " << std::endl;

  Mat out;
  drawKeypoints(img, kp, out, Scalar::all(255));

  imshow("Kpts", out);

  waitKey(0);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

结果:2.3.1:找到152个关键点

检测到kp

2.4.9:找到0个关键点

零kpts

我还测试了一个不同的ORB构造函数,但我得到了相同的结果,没有KPts.与2.3.1默认的构造函数中相同的构造函数值:2.4.9 custom constr:

#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/features2d/features2d.hpp>


using namespace cv;


int main(int argc, char **argv){

  Mat img = imread(argv[1]);

  std::vector<KeyPoint> kp;

  // default in …
Run Code Online (Sandbox Code Playgroud)

c++ opencv feature-detection orb

9
推荐指数
1
解决办法
1万
查看次数

如何使用具有面部特征的openCV训练支持向量机(svm)分类器?

我想使用svm分类器进行面部表情检测.我知道opencv有一个svm api,但我不知道应该用什么来训练分类器.到目前为止,我已经阅读了很多论文,所有这些都是在面部特征检测后训练分类器时说的.

到目前为止我做了什么,

  1. 人脸检测,
  2. 每帧中16个面部点计算.下面是面部特征检测的输出![输入图像说明
  3. 保持特征的矢量指向像素地址这里

注意:我知道如何只用正片和负片训练SVM,我在这里看到了这段代码,但我不知道如何将面部特征信息与它结合起来.

有人可以帮我开始用svm进行分类.

一个.什么应该是训练分类器的样本输入?

湾 如何使用此面部特征点训练分类器?

问候,

c opencv svm face-detection feature-detection

9
推荐指数
1
解决办法
9213
查看次数

DrawMatching两个图像 - 图像识别

我试图在两个图像之间显示匹配的关键点(一个是从我的相机捕获的,另一个是从数据库中捕获的)

任何人都可以帮助我在我的代码中编写DrawMatches函数,以显示2个图像之间匹配的行.

这是我的代码:

public final class ImageDetectionFilter{

// Flag draw target Image corner.
private boolean flagDraw ;

// The reference image (this detector's target).
private final Mat mReferenceImage;

// Features of the reference image.
private final MatOfKeyPoint mReferenceKeypoints = new MatOfKeyPoint();

// Descriptors of the reference image's features.
private final Mat mReferenceDescriptors = new Mat();

// The corner coordinates of the reference image, in pixels.
// CvType defines the color depth, number of channels, and
// channel layout in the …
Run Code Online (Sandbox Code Playgroud)

java android opencv image-recognition feature-detection

9
推荐指数
1
解决办法
660
查看次数

如何使用 babel / core-js 检测功能并仅延迟加载所需的 polyfills?

polyfill.io这样的 Polyfill 服务似乎只向浏览器提供小功能检测,然后只延迟加载实际需要的 polyfill。

据我了解关于 polyfillingbabel 文档,babel 总是包含全套可能需要的 polyfill:它会处理 a browserslist,然后包含最弱浏览器需要的 core-js 中的那些 polyfill。像 webpack 这样的打包器可能会将所有这些 polyfill 合并到应用程序中,但不会检测到运行时功能。

我的应用程序使用现代 ES 语言功能,但也针对各种浏览器,包括 IE10 和 IE11。这需要大量的 polyfill,并且可能会使包膨胀,尤其是对于可能不需要大部分 polyfill 的现代浏览器。

所以我想知道:我可以告诉 babel 和/或 webpack 只包含功能检测,将 polyfill 分成单独的块(单独或分成小包),然后在运行时,只“懒惰”加载实际上是什么需要吗?

lazy-loading feature-detection polyfills babeljs core-js

9
推荐指数
1
解决办法
1136
查看次数