Tag: 计算机视觉

图像比较algorithm

我试图比较图像彼此,以确定它们是否不同。 首先,我试图对RGB值进行Pearson校正,除非图片被移位,否则这种方法的效果也不错。 所以如果有一个100%完全相同的图像,但有一点是移动,我得到一个不好的相关值。 任何build议更好的algorithm? 顺便说一下,我正在谈论比较数千imgages … 编辑:这是我的照片(微观)的一个例子: IM1: IM2: IM3: im1和im2是相同的,但有点移动/切割,im3应该被认为是完全不同的… 编辑: 问题是与彼得·汉森的build议解决! 工作得很好! 感谢所有的答案! 一些结果可以在这里findhttp://labtools.ipk-gatersleben.de/image%20comparison/image%20comparision.pdf

用opencv(基于霍夫变换或其他特征)编写鲁棒的(颜色和尺寸不变的)圆检测,

我写了下面非常简单的python代码来查找图像中的圆圈: import cv import numpy as np WAITKEY_DELAY_MS = 10 STOP_KEY = 'q' cv.NamedWindow("image – press 'q' to quit", cv.CV_WINDOW_AUTOSIZE); cv.NamedWindow("post-process", cv.CV_WINDOW_AUTOSIZE); key_pressed = False while key_pressed != STOP_KEY: # grab image orig = cv.LoadImage('circles3.jpg') # create tmp images grey_scale = cv.CreateImage(cv.GetSize(orig), 8, 1) processed = cv.CreateImage(cv.GetSize(orig), 8, 1) cv.Smooth(orig, orig, cv.CV_GAUSSIAN, 3, 3) cv.CvtColor(orig, […]

我如何学习使用计算机视觉工作所需的math知识?

我知道计算机视觉涉及很多math,但是我需要一些关于程序员如何获得知识的技巧。 我已经开始使用OpenCV库了,但是在理解algorithm如何运作的过程中遇到一些重大问题。 在大学我学习了一些math,我们使用了matrix和衍生物,但是我没有太在意这个问题。 从程序员的angular度来看,这似乎是如此困难和无用。 我想,在不计算方程的情况下,必须有一些简单的方法来理解二阶导数。 (衍生品只是一个例子) 你有什么提示,我怎么能获得这样的知识? 论坛,书籍,链接,build议,任何东西?

如何validationCuDNN安装?

我search了很多地方,但我得到的是如何安装它,而不是如何validation它被安装。 我可以validation我的NVIDIA驱动程序已安装,并且安装了CUDA,但是我不知道如何validationCuDNN是否已安装。 帮助将不胜感激,谢谢! PS。 这是为了实现一个caffe。 目前一切都没有启用CuDNN的工作。

模块'对象没有属性'drawMatches'opencv python

我只是在OpenCV中做function检测的一个例子,我刚刚举了一个例子,如下所示。 它给我一个错误,像模块'对象没有属性'drawMatches'我检查了OpenCV文档。 为什么我得到这个错误? import numpy as np import cv2 import matplotlib.pyplot as plt img1 = cv2.imread('box.png',0) # queryImage img2 = cv2.imread('box_in_scene.png',0) # trainImage # Initiate SIFT detector orb = cv2.ORB() # find the keypoints and descriptors with SIFT kp1, des1 = orb.detectAndCompute(img1,None) kp2, des2 = orb.detectAndCompute(img2,None) # create BFMatcher object bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True) # […]

计算机视觉 – 用OpenCV过滤凸包和凸面缺陷

我遇到了处理数字信号的问题。 我试图检测指尖,类似于这里介绍的解决scheme: 使用JavaCV手和手指检测 。 不过,我不是使用JavaCV,但Android的OpenCV略有不同。 我已经设法完成了本教程中提出的所有步骤,但过滤了凸包和凹凸缺陷。 这就是我的形象: 这是另一个分辨率的图像: 正如你可以清楚地看到的那样,有许多黄点(凸包),还有许多红点(凸起的缺陷)。 有时在2个黄点之间没有红点,这是相当奇怪的(如何计算凸包?) 我需要的是像之前提供的链接创build类似的过滤function,但使用OpenCV的数据结构。 凸包是MatOfInt的types…凸包的缺陷是MatOfInt4的types… 我也创build了一些额外的数据结构,因为愚蠢的OpenCV使用不同types的数据包含相同的数据,在不同的方法… convexHullMatOfInt = new MatOfInt(); convexHullPointArrayList = new ArrayList<Point>(); convexHullMatOfPoint = new MatOfPoint(); convexHullMatOfPointArrayList = new ArrayList<MatOfPoint>(); 这是我到目前为止所做的,但它不是很好。 问题可能是以错误的方式转换数据: 创build凸包和凸面缺陷: public void calculateConvexHulls() { convexHullMatOfInt = new MatOfInt(); convexHullPointArrayList = new ArrayList<Point>(); convexHullMatOfPoint = new MatOfPoint(); convexHullMatOfPointArrayList = new ArrayList<MatOfPoint>(); try { //Calculate […]

与“分割”和“场景标注”相比,“语义分割”是什么?

语义分割只是一个Pleonasm,还是“语义分割”和“分割”有区别? “场景标记”还是“场景parsing”有什么不同? 像素级和像素级分割有什么区别? (附加问题:当你有这种像素方式的注释时,你是否可以免费获得对象检测,或者还有什么可以做的?) 请给出您的定义来源。 使用“语义分割” Jonathan Long,Evan Shelhamer,Trevor Darrell: 用于语义分割的完全卷积networking 。 CVPR,2015和PAMI,2016 Hong,Seunghoon,Hyeonwoo Noh和Bohyung Han:“去耦深度neural network半监督语义分割”。 arXiv预印本arXiv:1506.04924,2015 。 V. Lempitsky,A. Vedaldi和A. Zisserman:一种用于语义分割的塔式模型。 “神经信息处理系统进展”,2011年。 使用“场景标签”的来源 Clement Farabet,Camille Couprie,Laurent Najman,Yann LeCun: 学习场景标签的分层特征 。 在模式分析和机器智能中,2013。 使用“像素级” Pinheiro,Pedro O.和Ronan Collobert:“从图像级到卷积networking的像素级标签。 Proceedings of the IEEE Con​​ference on Computer Vision and Pattern Recognition,2015.(参见http://arxiv.org/abs/1411.6228 ) 使用“像素”的来源 李洪生,赵锐,王小刚:“卷积neural network像素分类的高效前向传播和后向传播”。 arXiv预印本arXiv:1412.4526,2014 。 Google […]

image processing:什么是遮挡?

我正在开发一个image processing项目,并且在许多科学论文中遇到了“ 遮挡”这个词,在image processing的背景下,遮挡是什么意思? 字典只给出一个一般的定义。 任何人都可以用图像来描述他们吗?

如何使用SIFTalgorithm来计算相似的两幅图像?

我已经使用了Andrea Vedaldi的SIFT实现来计算两个相似图像的筛选描述符(第二个图像实际上是从不同angular度放大同一个对象的图片)。 现在我无法弄清楚如何比较描述符来告诉图像有多相似 ? 我知道这个问题,除非你以前真的玩过这些东西,否则这个问题是无法回答的,但是我认为以前做过这个的人可能会知道这个 ,于是我就提出了这个问题。 我做的小生成描述符: >> i=imread('p1.jpg'); >> j=imread('p2.jpg'); >> i=rgb2gray(i); >> j=rgb2gray(j); >> [a, b]=sift(i); % a has the frames and b has the descriptors >> [c, d]=sift(j);

如何确定video中物体的距离?

我有一个移动车辆前方录制的video文件。 我打算使用OpenCV进行对象检测和识别,但是我坚持了一个方面。 我怎样才能确定一个识别的对象的距离。 我可以知道我目前的速度和真实世界的GPS位置,但仅此而已。 我不能对我跟踪的对象做任何假设。 我打算用这个来跟踪和跟踪物体而不与它们碰撞。 理想情况下,我想利用这些数据推导出物体的真实位置,如果我能确定从物体到物体的距离,我可以做到这一点。