问题标签 [object-detection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - OpenCV 特征检测和匹配——绘图匹配时的段错误
按照这个示例,
我正在尝试构建一个应用程序来识别视频中的对象。
我的程序由以下步骤组成(请参阅下面每个步骤的代码示例):
- 将要识别的物体的图像读入
cv::Mat
物体。 - 检测对象中的关键点并计算描述符。
- 阅读视频的每一帧,
- 检测关键点并计算帧的描述符,
- 将帧的描述符与对象的描述符匹配,
- 绘制结果。
问题:第 6 步导致分段错误(参见下面的代码)。
问题:是什么原因造成的,我该如何解决?
谢谢!
笔记:
- 该程序在段错误之前运行了几帧。崩溃发生在第 23 帧,这是视频中包含任何内容(即不是全黑)的第一帧。
- 通过删除
drawMatches(...);
没有崩溃的行。 - 在 Windows 7、OpenCV 2.4.2、MinGW 上运行。
调试尝试:
通过 gdb 运行程序会产生以下消息:
第 1 步 - 读取对象的图像:
第 2 步 - 检测对象中的关键点并计算描述符:
步骤 3-6:
段错误之前的屏幕截图:
第 22 帧(全黑):
第 23 帧(发生段错误):
opencv - 对于大于 64 x 128 像素的图像,如何为 HoG 训练图像?
我正在编写自己的 HoG 以供将来修改,并尝试不同的方法。但我偶然发现了这个问题/问题。
我从 INRIA 下载了数据集,其中有 320 x 240 的图像。而 HoG 的默认训练窗口大小为 64 x 128。我应该如何解决这个问题?
对于正图像,它们大约为 96 x 160 像素,我所做的是将它们的大小调整为 64 x 128。但是对于较大的图像,我是否调整它们的大小,使用逐个像素移动的滑动窗口,或者我计算该大图像中 64 x 128 块的特征?
image-processing - 视频中的对象分类(人类、动物、其他(汽车等))
嗨,我是图像处理领域的新手。我的项目是对图像/视频中的对象进行分类。输入是来自监控摄像头的图像/视频。我应该将对象分为三类。1) 人类 2) 动物 3) 其他(汽车)。我们可以考虑一个固定的背景。
任何人都可以为此目的提出任何经过验证的算法或论文或开源代码吗?谷歌搜索是显而易见的解决方案,但经验丰富的眼睛总是有帮助的!
c# - 如何解决 emgucv 中的异常“无法使用路径 tessdata 和语言 eng 创建 ocr 模型”
当我尝试构建 c# 项目(用于道路标志检测系统的项目)时,它可以在没有异常的情况下构建和调试。但是当我点击项目主界面中的按钮时,出现了一个异常**
“无法使用路径 tessdata 和语言 eng 创建 ocr 模型。”
并且突出显示的代码是
请帮我解决这个问题。非常感谢您
c++ - 使用opencv跟踪移动车辆的可能方法
我正在做一个项目,我必须能够跟踪进入和离开某个区域的汽车的运动。我正在使用带有 C++ 的 OpenCV 库。在搜索完所有功能后,我不确定要使用哪种方法。我正在考虑使用opticalFlow进行移动并为进入/退出设置两个感兴趣区域,但我不确定如何检测实际车辆。任何对 OpenCV 更有经验的人能给我一些见解吗?
任何帮助是极大的赞赏。
opencv - 我的负样本的质量会影响我的 haar 训练器的输出吗?开放式CV
所以首先,我试图从一张乐谱上检测音乐符号。假设,在这种情况下,我们在这张表http://www.anzacday.org.au/中寻找 gclef http://upload.wikimedia.org/wikipedia/commons/f/ff/GClef.svg杂项/lastpost.gif。
对于正样本,我使用了一个谱号图像并将其旋转到我需要的角度,以涵盖所有可能的形状,即从一本书到另一本书的变化。2000 个样本,在 haartrainer 中使用 1500 个。
对于负样本,我下载了 3019 张随机图像并正在使用它们,当然检查它们都没有 gclef 符号。负面图像是云、办公室、房屋、建筑物、树木、笔记本电脑。实际上我在stackoverflow上找到了一个链接,请不要让我去寻找它......使用3018个负样本。
负样本重要吗?即,如果我的负样本是云和房屋,我会得到比没有谱号的乐谱更清晰的结果吗?即负样本会影响物体检测吗?我已经创建了两个具有 10-14 个阶段的级联文件,我得到了非常不同的结果。但是通过裁剪乐谱来创建 3000 个负样本是一件很痛苦的事情……
我的对象检测器不打算在野外工作,而只能在扫描的乐谱上工作,所以它唯一会遇到的就是音乐符号......如果 Haartraining 不是办法,请指出!完成n00b,只是想办法。
javascript - 我应该测试对 javascript 图像对象的支持吗?
我刚刚开始使用对象检测来确保某些 javascript 对象支持,例如:XMLHttpRequest。我是否应该测试所有 javascript 对象,包括看似无处不在的对象,例如 Image?
python - 使用 opencv_traincascade 创建一个 haar 分类器
我在创建 haar 分类器时遇到了一些麻烦。我需要建立一个分类器来检测汽车。目前我在python中编写了一个读取图像的程序,我在对象所在的区域周围绘制了一个矩形,一旦绘制了矩形,它就会输出图像名称,矩形的左上角和右下角坐标。我不确定从这里去哪里以及如何实际构建分类器。谁能给我任何帮助?
编辑*
我正在寻求有关如何使用 opencv_traincascade 的帮助。我查看了文档,但我不太清楚如何使用它来创建要在检测程序中使用的 xml 文件。
.net - 从点识别多个(图形)对象的边缘
我有一个应用程序可以识别网络摄像头图像中的运动。它产生类似以下的东西......
黑色区域表示运动。这主要是在每个像素的基础上完成的(尽管考虑了附近的像素)
所以......现在我已经为每个像素设置了运动真/假,我需要使用该信息来识别对象轮廓。
我想要的是以下内容。
轮廓不必精确,我可以接受边界框。如果我将两者结合起来,还有一些噪音区域会更明显......
如您所见,对象外部有几个“运动”像素。据推测,我会通过指定对象的最小区域来消除这些。
那么,有哪些算法可以识别物体的边缘。理想情况下,我可以使用这些信息来计算每个对象的大致中心。
注意:正如@mmgp 所提到的,上面的图像都是全RGB,甚至是黑白的。这是由于我生成用于导出的图像的方式。在内部,它是一个位数组。
c++ - 如何合并每个检测到的对象的重叠检测?
我开发了一个使用 HOG 描述符测试对象检测的软件。
- 我使用窗口扫描方法来检测目标对象类的实例。
- 使用不同尺寸的扫描窗口对图像进行多次检查,以检测不同尺寸的物体(多尺度检测)。这样,每个对象可以被检测到多次。
每个对象的重叠检测(不同位置和大小的多个边界框)的存在需要一个程序将它们组合成一个包含与同一对象相关的所有检测的单个边界框。如何合并每个对象的多个检测?