Questions tagged «computer-vision»

使用此标签可解决与计算机视觉有关的问题,计算机视觉是使计算机能够使用相机感知,理解环境并对环境做出反应的软件的任何方面。对于与图像过滤和量化有关的问题,请使用标签[图像处理]。

9
图像比较-快速算法
我正在寻找创建图像的基本表,然后将其与任何新图像进行比较,以确定新图像是否与基础完全相同(或近似)。 例如:如果您想减少同一图像的存储100次,则可以存储它的一个副本并提供指向它的参考链接。输入新图像后,您想与现有图像进行比较,以确保它不是重复的...想法? 我的一个想法是缩小到小缩略图,然后随机选择100个像素位置并进行比较。

10
如何检测圣诞树?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 去年关闭。 可以使用哪些图像处理技术来实现检测以下图像中显示的圣诞树的应用程序? 我正在寻找可以在所有这些图像上使用的解决方案。因此,需要训练haar级联分类器或模板匹配的方法不是很有趣。 我正在寻找可以使用任何编程语言编写的东西,只要它仅使用开源技术即可。该解决方案必须使用此问题上共享的图像进行测试。有6个输入图像,答案应显示每个图像的处理结果。最后,对于每个输出图像,必须绘制红线以包围检测到的树。 您将如何以编程方式检测这些图像中的树木?

3
OpenCV-Python中的简单数字识别OCR
我正在尝试在OpenCV-Python(cv2)中实现“数字识别OCR”。它仅用于学习目的。我想学习OpenCV中的KNearest和SVM功能。 我每个数字有100个样本(即图像)。我想和他们一起训练。 letter_recog.pyOpenCV示例附带一个示例。但是我仍然不知道如何使用它。我不了解样本,响应等内容。此外,它首先会加载txt文件,而我首先并不了解。 稍后进行搜索时,我可以在cpp样本中找到letter_recognitiontion.data。我用它并在letter_recog.py模型中为cv2.KNearest编写了一个代码(仅用于测试): import numpy as np import cv2 fn = 'letter-recognition.data' a = np.loadtxt(fn, np.float32, delimiter=',', converters={ 0 : lambda ch : ord(ch)-ord('A') }) samples, responses = a[:,1:], a[:,0] model = cv2.KNearest() retval = model.train(samples,responses) retval, results, neigh_resp, dists = model.find_nearest(samples, k = 10) print results.ravel() 它给了我一个大小为20000的数组,我不知道它是什么。 问题: …

7
简单快速的图像相似度比较方法
我需要一种简单快速的方法来比较两个图像的相似性。也就是说,如果它们包含完全相同的内容,但背景可能略有不同,并且可能会移动/调整几个像素,则我希望获得较高的值。 (更具体的说,这很重要:一张图片是图标,另一张图片是屏幕截图的子区域,我想知道该子区域是否恰好是图标。) 我手头有OpenCV,但我仍然不习惯。 到目前为止,我考虑过的一种可能性是:将两张图片分成10x10个单元格,然后针对这100个单元格中的每一个,比较颜色直方图。然后,我可以设置一些虚构的阈值,如果我得到的值高于该阈值,那么我认为它们是相似的。 我还没有尝试过这种方法,但是我想它已经足够了。这些图像已经非常相似(在我的用例中),因此我可以使用很高的阈值。 我猜有很多其他可行的解决方案,它们或多或少都可以工作(因为任务本身非常简单,我只想在相似性非常高的情况下才检测相似性)。你有什么建议? 关于从图像中获取签名/指纹/哈希,存在一些非常相关/相似的问题: OpenCV / SURF如何从描述符中生成图像哈希/指纹/签名? 图像指纹以比较许多图像的相似性 几乎重复的图像检测 OpenCV:指纹图像并与数据库比较。 更多,更多,更多,更多,更多,更多,更多 另外,我偶然发现了这些实现具有指纹功能的实现: 酸碱度 imgSeek(GitHub repo)(GPL)基于论文快速多分辨率图像查询 图像匹配。与我要搜索的内容非常相似。与pHash相似,Goldberg等人基于对任何类型图像的图像签名。使用Python和Elasticsearch。 智商数据库 ImageHash。支持pHash。 映像重复数据删除器(imagededup)。支持CNN,PHash,DHash,WHash,AHash。 关于感知图像哈希的一些讨论:这里 有点题外话:存在许多创建音频指纹的方法。MusicBrainz是一项提供基于指纹的歌曲查找功能的网络服务,其Wiki中有很好的概述。他们现在正在使用AcoustID。这是用于查找完全一致(或几乎完全一致)的匹配项。要查找类似的匹配项(或者如果您仅有一些片段或高噪音),请查看Echoprint。一个相关的SO问题在这里。因此,似乎音频已解决。所有这些解决方案都运行良好。 关于模糊搜索的一般问题在这里出现。例如,存在局部敏感的哈希和最近邻居搜索。

6
如何消除数独方块中的凸度缺陷?
我当时在做一个有趣的项目:使用OpenCV(如Google护目镜等)从输入图像中解决数独问题。我已经完成了任务,但是最后我遇到了一个小问题。 我使用OpenCV 2.3.1的Python API进行了编程。 以下是我所做的: 读取图像 找到轮廓 选择面积最大的那个(也有些等同于正方形的那个)。 找到拐角点。 例如下面给出: (请注意,绿线正确地与数独的真实边界重合,因此数独可以正确变形。请检查下一张图片) 使图像变形为完美的正方形 例如图片: 执行OCR(为此我使用了我在OpenCV-Python的简单数字识别OCR中给出的方法) 而且该方法效果很好。 问题: 退房 这张图片。 在此图像上执行步骤4会得到以下结果: 画出的红线是原始轮廓,是数独边界的真实轮廓。 画出的绿线是近似轮廓,它将是变形图像的轮廓。 数独顶部的绿线和红线之间当然有区别。因此,在扭曲时,我并没有获得数独的原始边界。 我的问题 : 如何在数独的正确边界(即红线)上扭曲图像,或者如何消除红线和绿线之间的差异?OpenCV中有什么方法吗?

6
OpenCV C ++ / Obj-C:检测一张纸/正方形检测
我在测试应用程序中成功实现了OpenCV平方检测示例,但现在需要过滤输出,因为它很乱-还是我的代码错误? 我感兴趣的纸歪斜减少(如的四个角点是),并进一步处理... 输入输出: 原始图片: 点击 码: double angle( cv::Point pt1, cv::Point pt2, cv::Point pt0 ) { double dx1 = pt1.x - pt0.x; double dy1 = pt1.y - pt0.y; double dx2 = pt2.x - pt0.x; double dy2 = pt2.y - pt0.y; return (dx1*dx2 + dy1*dy2)/sqrt((dx1*dx1 + dy1*dy1)*(dx2*dx2 + dy2*dy2) + 1e-10); …

11
人脸识别库[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 我正在为大学项目寻找免费的人脸识别库。我不想要人脸检测。我正在寻找真正的认可。这意味着查找包含指定面部或计算特定面部之间距离的库的图像。 我目前正在使用OpenCV来检测人脸,并使用粗略的Eigenface算法进行识别。但是我认为应该有比自写的Eigenface算法更好的性能。我并不是说速度就是性能,而是在寻找一种比简单的Eigenface方法效果更好的库。 我看了一下Faint,但看来该库对于我自己的应用程序不是很可重用。 我对Python,Java,C ++,C之类的库感到满意。最好的办法是,它是否可以在Windows机器上运行,因为目前我依赖于某些仅用于Windows的外部代码。

7
如何验证CuDNN安装?
我已经搜索了很多地方,但是得到的只是如何安装它,而不是如何验证它是否已安装。我可以确认已安装NVIDIA驱动程序,并且已安装CUDA,但是我不知道如何验证已安装CuDNN。帮助将不胜感激,谢谢! PS。 这是用于caffe的实现。当前,所有功能在未启用CuDNN的情况下都可以正常工作。

7
如何使用视觉输入训练人工神经网络来玩Diablo 2?
我目前正在尝试让ANN玩电子游戏,并且希望能从这里的美好社区得到一些帮助。 我已经选择了《暗黑破坏神2》,因此游戏是实时的,并且是从等轴测的角度来看,玩家可以控制相机居中放置的单个化身。 具体来说,任务是获得角色x经验值,而角色的生命值不会降低到0,而经验值是通过杀死怪物获得的。这是一个玩法示例: 现在,由于我希望网络仅基于它从屏幕上的像素获得的信息进行操作,因此它必须学习非常丰富的表示形式才能有效地进行游戏,因为这大概需要(至少是隐式地)知道如何将游戏世界分为对象以及如何与它们交互。 所有这些信息都必须以某种方式传到网上。我一辈子都想不起来如何训练这个东西。我唯一的想法是拥有一个单独的程序,从屏幕上直观地从游戏中提取某些本来是好事/坏事(例如健康,黄金,经验),然后在强化学习过程中使用该统计信息。我认为这将是答案的一部分,但我认为这还不够。从原始的视觉输入到面向目标的行为的抽象层次太多,以至于有限的反馈无法在我的一生中训练网络。 因此,我的问题是:您可以想到哪些其他方法来训练网络至少完成此任务的一部分?最好不要制作成千上万个带有标记的示例。 只是提供一些指导:我正在寻找增强学习的其他来源和/或在这种情况下提取有用信息的任何无监督方法。或采用监督算法,如果您可以想到一种无需手动标记就可以从游戏世界中获取标记数据的方法。 更新(04/27/12): 奇怪的是,我仍在努力,似乎正在取得进展。使ANN控制器正常工作的最大秘密是使用适合该任务的最先进的ANN架构。因此,我一直在使用由因式条件受限的玻尔兹曼机器组成的深度置信网,该机器以无监督的方式(在我玩游戏的视频中)进行了无监督的训练,然后通过时差反向传播(即使用标准的强化学习)进行了微调。前馈ANN)。 仍然在寻找更有价值的输入,特别是在实时选择动作以及如何为ANN处理编码彩色图像方面:-) 更新(10/21/15): 只是想起了我曾经回问过这个问题,并以为我应该提到这不再是一个疯狂的主意。自从我上次更新以来,DeepMind发表了他们的自然论文,内容涉及通过视觉输入让神经网络玩Atari游戏。确实,阻止我使用他们的体系结构玩《暗黑破坏神2》的一个有限子集的唯一原因是缺乏对基础游戏引擎的访问。渲染到屏幕然后将其重定向到网络实在太慢了,无法在合理的时间内进行训练。因此,我们可能不会很快看到这种机器人在玩Diablo 2,只是因为它会玩开源或具有对渲染目标的API访问权限的东西。(也许是地震?)

8
将RGB转换为灰度/强度
从RGB转换为灰度时,据说应该对通道R,G和B应用特定的权重。这些权重是:0.2989、0.5870、0.1140。 据说其原因是人类对这三种颜色的感知/敏感性不同。有时也有人说这些是用于计算NTSC信号的值。 但是,我在网上找不到很好的参考资料。这些值的来源是什么? 另请参阅以下先前的问题:在这里和这里。


3
与“细分”和“场景标记”相比,“语义细分”是什么?
语义分割是仅仅是“白痴”,还是“语义分割”和“分割”之间有区别?“场景标签”或“场景解析”有区别吗? 像素级分割与逐像素分割有什么区别? (旁白:当您使用这种像素级注释时,是否可以免费获得对象检测,还是还有其他事情要做?) 请提供您的定义来源。 使用“语义细分”的来源 Jonathan Long,Evan Shelhamer,Trevor Darrell:用于语义分割的完全卷积网络。2015年的CVPR和2016年的PAMI Hong,Seunghoon,Hyeonwoo Noh和Bohyung Han:“去耦深度神经网络用于半监督语义分割。” 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:“从卷积网络的图像级到像素级标签。” IEEE关于计算机视觉和模式识别的会议论文集,2015年。(请参阅http://arxiv.org/abs/1411.6228) 使用“ pixelwise”的源 李宏胜,赵锐和王小刚:“卷积神经网络的高效向前和向后传播,用于像素分类。” arXiv预印本arXiv:1412.4526,2014。 Google Ngrams 近年来,“语义细分”似乎比“场景标记”使用更多

4
我如何在Tesseract和OpenCV之间进行选择?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 去年关闭。 改善这个问题 我最近遇到过Tesseract和OpenCV。看起来Tesseract是成熟的OCR引擎,而OpenCV可以用作创建OCR应用程序/服务的框架。 我尝试在某些图像上使用Tesseract,其准确性似乎不错。后来,我遇到了一个有关使用OpenCV使用Python执行OCR 的非常简单的教程,这给我留下了深刻的印象。几分钟后,我完成了对该系统的培训,其准确性非常好。但是,当然,采用这种方法意味着我需要使用大型训练集来广泛地训练系统。 我的具体问题如下: 如何在Tesseract和使用OpenCV构建自定义OCR应用之间进行选择? 对于Tesseract,有针对不同语言的培训数据集。OpenCV是否具有类似的功能,所以我不必重新开始就可以实现OCR? 对于想成为商业应用程序的哪个更好? 有什么建议?


6
Viola-Jones的人脸检测宣称拥有18万个功能
我一直在实施Viola-Jones的人脸检测算法的改编。该技术依赖于在图像内放置一个24x24像素的子帧,然后在每个位置以各种尺寸放置矩形特征。 这些特征可以由两个,三个或四个矩形组成。提供以下示例。 他们声称穷举集超过18万(第2节): 假设检测器的基本分辨率为24x24,则详尽的矩形特征集非常大,超过180,000。请注意,与Haar基础不同,矩形要素集过于完整。 本文中未明确陈述以下陈述,因此它们是我的假设: 只有2个两个矩形的特征,2个三个矩形的特征和1个四个矩形的特征。其背后的逻辑是,我们正在观察突出显示的矩形之间的差异,而不是显式地观察颜色或亮度或任何类似的东西。 我们无法将要素类型A定义为1x1像素块;它必须至少为1x2像素。同样,类型D必须至少为2x2像素,并且该规则也适用于其他功能。 我们无法将要素类型A定义为1x3像素块,因为无法对中间像素进行分区,并且从自身中减去它就等于1x2像素块;仅为均匀宽度定义此要素类型。同样,要素类型C的宽度必须被3整除,并且该规则也适用于其他要素。 我们无法定义宽度和/或高度为0的要素。因此,我们将x和y迭代为24减去要素的大小。 基于这些假设,我计算了详尽的集合: const int frameSize = 24; const int features = 5; // All five feature types: const int feature[features][2] = {{2,1}, {1,2}, {3,1}, {1,3}, {2,2}}; int count = 0; // Each feature: for (int i = 0; i < features; i++) …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.