标签: feature-detection

功能检测:JavaScript中的突变事件可用性?

我的JavaScript如何检测事件是否可用?

我知道一些很棒的事件兼容性表,但我需要使用特征检测,而不是浏览器嗅探和查找表.

具体来说,我的JS充分利用了DOM突变事件(DOMNodeInsertedDOMSubtreeModified) - 除了(当然)Internet Explorer之外,它在所有浏览器中都很有用.

那么,我如何检测浏览器是否支持DOMNodeInserted

javascript cross-browser feature-detection dom-events mutation-events

8
推荐指数
1
解决办法
2176
查看次数

从功能关键点手动在OpenCV中进行成对匹配

这是我的问题.我在多个图像上手动提取了SURF的关键点特征.但我也已经知道哪一对要匹配.问题是,我正在尝试创建我的匹配对,但我不明白如何.我试着通过查看代码,但这是一个烂摊子.

现在,我知道features.descriptors(一个矩阵)的大小与关键点的数量相同(另一个维度为1).在代码中,为了检测匹配对,它只使用描述符,因此它比较行(或列,我不确定)或两个描述符矩阵,并确定是否有任何共同点.

但就我而言,我已经知道图像1中的关键点i与图像2中的关键点j之间存在匹配.如何将其描述为MatchesInfo值.特别是std :: vector <cv :: DMatch>类型的元素匹配.

编辑:所以,为此,我不需要使用任何匹配器或类似的东西.我知道哪些对在一起!

opencv matching surf feature-detection

8
推荐指数
1
解决办法
4564
查看次数

位置特征检测:固定

我试图找到一个脚本,检测设备是否position: fixed相对于ViewPort而不是整个文档放置元素.

目前,标准桌面浏览器和Mobile Safari(适用于iOS 5)这样做,而Android设备将固定元素相对于整个文档放置.

我找到了几个测试来检测这个,但似乎没有一个工作:

有谁知道在哪里找到/如何编写实际检测到的测试?我不想依赖浏览器嗅探.

javascript mobile feature-detection

8
推荐指数
2
解决办法
4063
查看次数

使用OpenCV4Android保存ORB特征向量(java API)

我有一组训练图像,我已经检测计算了它们的特征向量(使用ORB特征描述符和提取器.问题是:因为我需要保存这些特征以重新使用它们以匹配测试图像(使用SVM分类器); 在Android设备上本地存储特征向量的最佳方法是什么?

要保存的特征向量是每个图像的可变大小,因此具有非最大大小的特征向量用零填充以统一所有向量的大小.目前最大尺寸为500行×32列; 因此16k功能.

这是我到目前为止可以达到的选项;

  • 我听说过OpenCV的FileStorage,但是在浏览java文档时,我注意到了HOG功能的一种save方法(不是ORB).此外,我不确定使用OpenCV的文件存储选项保存功能对于Android手机来说是否是最佳内存方式,因为xml文件太大而无法加载.
  • 我目前的选择是选择一个sqlLite数据库,有一个包含两个cols的表; id和功能(如在线经常建议的那样); 列表sqlLite中的所有16k功能.这似乎是电话存储密集型,但它是我能找到的最合理的解决方案.

有没有一种常用的方法来处理Android手机上的特征向量?它是否包含上述任何方法; 如果没有,请您提供一些有关如何实施此类存储解决方案的指南?

谢谢.

storage android opencv vector feature-detection

8
推荐指数
2
解决办法
2051
查看次数

特征检测器和描述符比较

有几种探测器和描述符,如SIFT,SURF,FAST.我想他们都有资格获得实时申请吗?哪个最好还是更好?

而且,当我们已经拥有上述三个时,Harris-Laplacian检测器仍然有用吗?它比他们好吗?

image-processing feature-detection

8
推荐指数
1
解决办法
8010
查看次数

OpenCV - SURF Hessian最小阈值

我正在开发一个OpenCV项目,使用surf来检测图像中的特征.以这种方式初始化检测器

int minHessian = 100;

SurfFeatureDetector detector( minHessian );
Run Code Online (Sandbox Code Playgroud)

有人能解释一下hessian阈值的含义(以数学和实践的方式)吗?

c++ opencv surf feature-detection hessian-matrix

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

是否有任何探测器在GPU上实现并且是缩放/旋转不变的?

正如OpenCV 2.4.9.0中所知,这些特征检测器:SIFT, SURF, BRISK, FREAK, STAR, FAST, ORB.

所有这些都对CPU执行,但只FASTORBGPU上.http://docs.opencv.org/genindex.html

众所周知,有些是缩放/旋转不变的,但有些则不是:对于尺度不变特征提取,是否存在SURF和SIFT的快速替代方案?

这些是规模不变和旋转不变的:

  • 冲浪
  • 轻快
  • 怪物

但这些不是规模不变的,也不是旋转不变的:

  • 快速
  • ORB

是否有任何探测器在GPU上实现并且是缩放/旋转不变的?

或者将在GPU或OpenCL上的OpenCV 3.0中添加?

opencv feature-extraction computer-vision feature-detection orb

8
推荐指数
1
解决办法
5459
查看次数

用Hough变换检测圆

我正在尝试使用霍夫变换来检测圆圈.

在此输入图像描述

使用我当前的代码,我可以检测到下面的代码

在此输入图像描述

但是我想在我检测到的圆圈内找到黑洞.然而,改变houghcircle方法的参数对我没有帮助.实际上它找到了不存在的圆圈.

在此输入图像描述

此外,我已经尝试裁剪我发现的圆圈,并在这个新的部分做另一个hough变换它也没有帮助我.

这是我的代码

#include <stdio.h>
#include <iostream>
#include "opencv2/core/core.hpp"
#include "opencv2/features2d/features2d.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/calib3d/calib3d.hpp"
#include "opencv2/nonfree/nonfree.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/opencv.hpp"  // needs imgproc, imgcodecs & highgui
using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
    Mat src, circleroi;

    /// Read the image
    src = imread( "/Users/Rodrane/Documents/XCODE/test/mkedenemeleri/alev/delikli/gainfull.jpg", 2 );


    /// Convert it to gray
//    cvtColor( src, src_gray, CV_BGR2GRAY );
       /// Reduce the noise so we avoid false circle detection
   GaussianBlur( src, src, Size(3, 3), …
Run Code Online (Sandbox Code Playgroud)

c++ opencv image-processing feature-detection hough-transform

8
推荐指数
1
解决办法
3889
查看次数

功能检测是否需要用户手势

有没有办法检测是否play()允许在没有用户手势的情况下调用视频元素?在Android Chrome上,会出现以下警告:

Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated by a user gesture.

因此,在Chrome Android上,需要用户手势才能开始播放视频,而桌面Chrome则不需要.有没有办法检测我会得到哪种行为?

我想在我的应用程序中略有不同的行为,具体取决于是否允许以编程方式调用play.

我试过用Modernizr.videoautoplay,但是检查autoplay元素上的属性是不是一回事.这给IE11和Edge带来了误报.

编辑:添加了一个例子.该视频将在Windows桌面和IE11或Edge(3秒延迟)上自动开始在Windows 8或10上播放.对于Chrome @Android,需要用户交互(单击按钮),并且可以在控制台中看到错误消息.

javascript feature-detection html5-video modernizr

8
推荐指数
1
解决办法
2217
查看次数

EmguCV (OpenCV) ORBDetector 只发现坏匹配

问题

所以总的来说,我对计算机视觉还很陌生。我目前正在尝试通过分析 2 个图像来计算单应性。我想使用单应性来校正 1 个图像的视角以匹配另一个。但我得到的比赛既糟糕又错误。所以我所做的单应扭曲完全关闭。

当前状态

我正在使用 EmguCV 在 C# 中包装 opencv。我知道我的代码似乎“正常”工作。

我加载我的两个图像并声明一些变量来存储计算工件。

(Image<Bgr, byte> Image, VectorOfKeyPoint Keypoints, Mat Descriptors) imgModel = (new Image<Bgr, byte>(imageFolder + "image0.jpg").Resize(0.2, Emgu.CV.CvEnum.Inter.Area), new VectorOfKeyPoint(), new Mat());
(Image<Bgr, byte> Image, VectorOfKeyPoint Keypoints, Mat Descriptors) imgTest = (new Image<Bgr, byte>(imageFolder + "image1.jpg").Resize(0.2, Emgu.CV.CvEnum.Inter.Area), new VectorOfKeyPoint(), new Mat());
Mat imgKeypointsModel = new Mat();
Mat imgKeypointsTest = new Mat();
Mat imgMatches = new Mat();
Mat imgWarped = new Mat();
VectorOfVectorOfDMatch matches = new VectorOfVectorOfDMatch();
VectorOfVectorOfDMatch filteredMatches = …
Run Code Online (Sandbox Code Playgroud)

c# opencv feature-detection

8
推荐指数
2
解决办法
3410
查看次数