标签: computer-vision

OpenCV ORB功能检测器如何工作?

我想使用ORB特征检测器和提取器实现基于特征的对齐算法.
到目前为止,我使用OpenCV中的ORB类 提取了这些特征ORB orb;
orb(gray_image,Mat(),features.keypoints,features.descriptors);
,并使用openCV中的knnMatch函数进行匹配.matcher.knnMatch(features1.descriptors, features2.descriptors, pair_matches,2); 之后我尝试使用findHomography函数找到一个单应性,但是这个函数需要在图像特征之间至少有4个匹配,并且在大多数情况下我测试过的图像不到4.

有人用过这个功能吗?是否有任何关于它的文档,或关于OpenCV的ORB类(ORB构造函数参数的含义)?

PS这是我的第一个问题.我不能发布超过2个链接.对于opencv文档,请使用此方法.

android opencv alignment computer-vision

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

为什么旋转不变神经网络不会用于热门竞赛的获胜者?

众所周知,现代最流行的CNN(卷积神经网络):VGG/ResNet(FasterRCNN),SSD,Yolo,Yolo v2,DenseBox,DetectNet - 不是旋转不变的:现代CNN(卷积神经网络)是否像DetectNet一样旋转不变?

还知道,有几个神经网络具有旋转不变对象检测:

  1. Rotation-Invariant Neoperceptron 2006(PDF):https://www.researchgate.net/publication/224649475_Rotation-Invariant_Neoperceptron

  2. 学习用于纹理分类的旋转不变卷积滤波器2016(PDF):https://arxiv.org/abs/1604.06720

  3. RIFD-CNN:用于物体检测的旋转不变和Fisher判别卷积神经网络2016(PDF):http://www.cv-foundation.org/openaccess/content_cvpr_2016/html/Cheng_RIFD-CNN_Rotation-Invariant_and_CVPR_2016_paper.html

  4. 卷积神经网络中的编码不变性2014(PDF)

  5. 用于星系形态预测的旋转不变卷积神经网络(PDF):https://arxiv.org/abs/1503.07077

  6. 学习旋转不变卷积神经网络用于VHR光学遥感图像中的物体检测2016:http://ieeexplore.ieee.org/document/7560644/

我们知道,在这样的图像检测竞赛中:IMAGE-NET,MSCOCO,PASCAL VOC - 使用的网络集合(同时是一些神经网络).或网络集成在单网中,如ResNet(残留网络表现得像相对浅网络的集合)

但是在像MSRA这样的获胜者中使用旋转不变的网络集合,如果没有,那么为什么呢?为什么在整体中额外的旋转不变网络不会增加精确度以检测某些物体,例如飞机物体 - 哪些图像是在不同的旋转角度下完成的?

有可能:

  • 从地面拍摄的飞机物体 在此输入图像描述

  • 或从空中拍摄的地面物体 在此输入图像描述

为什么旋转不变神经网络不会用于流行的对象检测竞赛的获胜者?

machine-learning computer-vision neural-network deep-learning conv-neural-network

27
推荐指数
3
解决办法
2万
查看次数

在OpenCV中保存图像

我是OpenCV的新手,尝试捕获图像,然后将其保存到文件中.我发布的代码供您参考,如下.

正在保存jpg文件,但它是黑色的.

// Capture the Image from the webcam
CvCapture *pCapturedImage = cvCreateCameraCapture(0);

// Get the frame
IplImage *pSaveImg = cvQueryFrame(pCapturedImage);

// Save the frame into a file
cvSaveImage("test.jpg". ,pSaveImg); // A JPG FILE IS BEING SAVED
                                    // OF 6KB , BUT IT IS BLACK
Run Code Online (Sandbox Code Playgroud)

所有功能都是成功的.我在XP和Vista中都尝试了上面的代码 - 结果是两者都是黑色图像.请让我知道我错过了什么.

c++ opencv computer-vision

26
推荐指数
3
解决办法
11万
查看次数

用Hough变换检测矩形

我正在尝试使用Hough变换实现矩形检测,基于 本文.

我使用Matlab编程,但在检测到平行线对和正交对之后,我必须检测这些对的交集.我的问题是关于霍夫空间中两线交叉口的质量.

我通过求解四个方程系统找到了交点.这些交叉点是否位于笛卡尔坐标或极坐标空间中?

image-processing computer-vision hough-transform

26
推荐指数
2
解决办法
3万
查看次数

初学者应该从哪里开始计算机视觉?

我是一名大学生,他发现计算机视觉很有吸引力.计算机视觉的新手应该从哪里开始?

language-agnostic computer-science computer-vision

26
推荐指数
4
解决办法
2万
查看次数

自动My Little Pony检测和分类

我正在寻找的是具有计算机视觉经验的人的建议,这些方法或算法最适合这个特定问题.我是一名经验丰富的程序员(主要是.NET),但我对计算机视觉几乎一无所知,我想节省时间.

我更喜欢不需要大型训练集的算法.

我想要检测的内容:

鲜明的色彩,锐利的边缘,缺乏渐变,噪音极小.

我设想最终的结果是像Picasa或Windows Live Gallery那样 - 我在一些图像中标记了一匹小马,程序发现其他图像包含相同的小马.

computer-vision

26
推荐指数
1
解决办法
1258
查看次数

当不知道物体和相机之间的距离时,如何从图像中获取物体的真实大小?

我必须制作一个移动应用程序来计算图像中对象的实际大小.

我对它进行了一些研究,发现有用[问题]:你如何找到给定图像的物体的高度?

相机的距离与物体的实际尺寸之间的关系实际上并不复杂,传感器上的物体尺寸与现实生活中物体的尺寸之比与之间的比率相同.焦距和物体距离.

distance to object (mm) = focal length (mm) * real height of the object (mm) * image height (pixels)
                          ---------------------------------------------------------------------------
                          object height (pixels) * sensor height (mm)
Run Code Online (Sandbox Code Playgroud)

但是如果距离未知,如何获得物体的实际高度值?

从图像创建3d模型的工具是否具有真实的生命维度?

image-processing computer-vision

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

使用cv :: Mat类型时如何在图像上叠加文本

我正在使用opencv 2.1.在我的代码中,我有几个图像存储为Mat对象初始化如下:

Mat img1 = imread("img/stuff.pgm", CV_LOAD_IMAGE_GRAYSCALE);
Run Code Online (Sandbox Code Playgroud)

在矩阵运算完成后,我可以使用imshow()正确显示它们.现在我想在图像上添加一些文字来描述发生了什么.看看文档似乎就是cvPutText()我需要的功能.但是,当我尝试这样的事情时:

cvPutText(result, "Differencing the two images.", cvPoint(30,30), &font, GREEN);

我得到以下编译错误: error: cannot convert ‘cv::Mat’ to ‘CvArr*’ for argument ‘1’ to ‘void cvPutText(CvArr*, const char*, CvPoint, const CvFont*, CvScalar)’

在显示此图像时,我需要做些什么才能添加一些文字?

c++ opencv computer-vision

25
推荐指数
3
解决办法
8万
查看次数

OpenCV-Python接口,cv和cv2的性能比较

几天前,我开始使用新的OpenCV-Python界面cv2.

我的问题是关于比较cvcv2界面.

关于易用性,新cv2界面的改进程度要大得多,而且使用起来非常简单有趣cv2.

但速度怎么样?

我制作了两个小码密码,一个在cv另一个cv2,用于检查性能.两者都具有相同的功能,访问图像的像素,测试它,进行一些修改等.

以下是代码:


cv2 interface:

import time
import numpy as np
import cv2

gray = cv2.imread('sir.jpg',0)
width = gray.shape[0]
height = gray.shape[1]
h = np.empty([width,height,3])
t = time.time()
for i in xrange(width):
    for j in xrange(height):
        if gray[i,j]==127:
            h[i,j]=[255,255,255]
        elif gray[i,j]>127:
            h[i,j]=[0,0,255-gray[i,j]]
        else:
            h[i,j]=[gray[i,j],0,0]
t2 = time.time()-t
print "time taken = ",t2
Run Code Online (Sandbox Code Playgroud)

================================================== ===

结果是:

所用时间= 14.4029130936

================================================== ====

cv界面:

import cv,time …
Run Code Online (Sandbox Code Playgroud)

python performance opencv computer-vision

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

我应该停止使用OpenCV吗?

首先,我想让你知道我真的很喜欢OpenCV.我已经使用了很长时间了,而且我使用它太多了,我可以指望上个月我必须查看文档的次数.我认为这是您每天使用计算机视觉时想要使用的工具.

我越来越觉得Opencv真的不适合使用应用程序.我正在开展宠物项目,这些项目旨在让任何人都可以轻松安装.

最新版本的OpenCV没有附带exes,Linux软件包已经过时了,我甚至都不敢使用它们.因此,最好的解决方案是大多数情况下的编译.在考虑移动应用程序或云计算时也是如此(即使解决方案似乎存在).

所以我的问题是,你们是怎么做的?我周围有很多基于计算机视觉的应用程序,基于云,基于移动,...你用什么工具?

我会寻找可用于最多平台的东西,但最重要的是通过应用程序可以轻松实现!

我在互联网上搜索了很多,但总是回到OpenCV是计算机视觉的"最佳"工具.

我对任何解决方案/语言/工具/框架都很开放.

谢谢 !

c c++ opencv image-processing computer-vision

25
推荐指数
3
解决办法
9318
查看次数