Questions tagged «computer-vision»

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

6
如何使用Python找到Wally?
无耻地跳上了潮流:-) 受我如何通过Mathematica查找Waldo以及后续如何使用R查找Waldo的启发,作为一个新的python用户,我很想知道如何做到这一点。似乎python比R更适合于此,并且我们不必像Mathematica或Matlab那样担心许可证。 在下面的示例中,显然仅使用条纹将不起作用。如果可以使基于简单规则的方法适用于诸如此类的困难示例,那将很有趣。 我添加了[machine-learning]标签,因为我认为正确的答案必须使用ML技术,例如Gregory Klopper在原始线程中倡导的Restricted Boltzmann Machine(RBM)方法。有一些在python中RBM代码可能是一个不错的起点,但是显然该方法需要训练数据。 在2009 IEEE信号处理机器学习国际研讨会上(MLSP 2009),他们举办了数据分析竞赛:Wally在哪里?。训练数据以matlab格式提供。请注意,该网站上的链接已失效,但数据(以及Sean McLoone和同事采用的方法的来源都可以在此处找到(请参阅SCM链接)。似乎是一个起点。

4
卷积神经网络中的批量归一化
我是卷积神经网络的新手,只是对特征图以及如何在图像上进行卷积以提取特征有所了解。我很高兴知道在CNN中应用批处理规范化的一些细节。 我阅读了https://arxiv.org/pdf/1502.03167v3.pdf这篇论文,可以理解对数据应用的BN算法,但最后他们提到在对CNN进行应用时需要稍作修改: 对于卷积层,我们还希望归一化服从卷积属性-以便以相同的方式对同一要素图的不同元素在不同位置进行归一化。为了实现这一目标,我们在所有位置上以小批量的方式联合标准化了所有激活。在Alg。在图1中,我们将B作为特征图上所有小批量和空间位置的所有值的集合–因此,对于大小为m的小批量和大小为p×q的特征图,我们使用effec -大小为m'= | B |的小批量生产 = m·pq。我们每个特征图而不是每个激活都学习一对参数γ(k)和β(k)。海藻 对图2进行类似的修改,以便在推理期间BN变换将相同的线性变换应用于给定特征图中的每个激活。 当他们说“要以相同的方式对同一要素图的不同元素在不同位置进行标准化时,我完全感到困惑 ” 我知道要素地图的含义,每个要素地图中的权重都是不同的元素。但是我不明白什么是位置或空间位置。 我根本无法理解下面的句子 “在Alg。1中,我们让B为跨越小批量和空间位置的要素的要素图中所有值的集合” 如果有人能用更简单的方式详细阐述并向我解释,我将感到非常高兴

3
如何在OpenCV中定义分水岭的标记?
我正在使用OpenCV为Android编写。我正在使用标记控制的分水岭对类似于下面的图像进行分割,而无需用户手动标记图像。我打算将区域最大值用作标记​​。 minMaxLoc()会给我带来价值,但是如何将其限制在我感兴趣的斑点上?我可以利用来自findContours()或cvBlob Blob的结果来限制ROI并将最大值应用于每个Blob吗?



12
如何从图像中识别车辆牌照/车牌(ANPR)?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 改善这个问题 我有一个允许用户上传汽车图像的网站,我想放置一个隐私过滤器以检测车辆上的车牌并使它们模糊。 模糊不是问题,但是是否有一个库或组件(首选开放源代码)可以帮助在照片中查找许可证? 注意事项; 我知道没有什么是完美的,这种类型的图像识别会带来假阳性和阴性。 我很高兴我们可以要求用户选择要模糊的区域,我们也将这样做,但是问题特别是关于以编程方式查找该数据;因此,诸如“请人检查每张图片”之类的答案无济于事。 这种软件方法在英国称为“自动车牌识别”,但我看不到它的任何实现为库。 尽管.Net是首选,但任何语言都很棒。

2
检测图像中的多个矩形
我试图检测这张图片中的管道数。为此,我正在使用OpenCV和基于Python的检测。根据对类似问题的现有答案,我能够提出以下步骤 打开图片 筛选 应用边缘检测 使用轮廓 检查计数 当我们手动给定或取4时,管道的总数约为909。 应用滤镜后 import cv2 import matplotlib.pyplot as plt import numpy as np img = cv2.imread('images/input-rectpipe-1.jpg') blur_hor = cv2.filter2D(img[:, :, 0], cv2.CV_32F, kernel=np.ones((11,1,1), np.float32)/11.0, borderType=cv2.BORDER_CONSTANT) blur_vert = cv2.filter2D(img[:, :, 0], cv2.CV_32F, kernel=np.ones((1,11,1), np.float32)/11.0, borderType=cv2.BORDER_CONSTANT) mask = ((img[:,:,0]>blur_hor*1.2) | (img[:,:,0]>blur_vert*1.2)).astype(np.uint8)*255 我得到了这张蒙面的图像 就显示的可见矩形数量而言,这看起来相当准确。但是,当我尝试进行计数并在图片顶部绘制边框时,它也会选择很多不需要的区域。对于圆,HoughCircles具有定义最大和最小半径的方法。矩形是否有类似的东西可以提高精度。另外,我也乐于接受有关此问题的替代方法的建议。 ret,thresh = cv2.threshold(mask,127,255,0) contours,hierarchy …

3
使用OpenCV从桌面游戏纸牌图像中提取插图
我在python中编写了一个小脚本,试图提取或裁剪仅代表艺术品的扑克牌部分,然后删除所有其余部分。我一直在尝试各种阈值方法,但无法达到目标。还要注意,我不能简单地手动记录图稿的位置,因为它并不总是处于相同的位置或大小,而是总是呈矩形,而其他所有内容都是文本和边框。 from matplotlib import pyplot as plt import cv2 img = cv2.imread(filename) gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) ret,binary = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU | cv2.THRESH_BINARY) binary = cv2.bitwise_not(binary) kernel = np.ones((15, 15), np.uint8) closing = cv2.morphologyEx(binary, cv2.MORPH_OPEN, kernel) plt.imshow(closing),plt.show() 当前输出是我能得到的最接近的东西。我可能是正确的方法,并尝试进一步进行围绕白色部分绘制矩形的尝试,但是我认为这不是可持续的方法: 最后一点,请参阅下面的卡片,并非所有框架的尺寸或位置都完全相同,但是总会有一件艺术品,其周围只有文字和边框。它不一定要精确切割,但是很明显,艺术是卡片的“区域”,周围是包含文本的其他区域。我的目标是尽我所能捕获艺术品的区域。
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.