问题标签 [shape-recognition]

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.

0 投票
1 回答
537 浏览

opencv - 在 Android 设备上使用 OpenCv 检测音乐形状

我有一门课的作业。我需要用手机“制作”一种乐器。我正在考虑制作这样的东西:

墙上(或木板)上有一个乐谱。然后,用户可以将音符贴在该五线谱上,并将手机摄像头对准那面墙。然后手机会检测到音符(可能是四分音符或二分音符,甚至是 G 谱号)并将连续的音符作为声音播放。音符将具有相同的大小和颜色,因为它们不会被绘制,我们将用纸或纸板制作它们。

我担心的是是否有可能使用 openCv 检测几个自定义的已知形状(在这种情况下是一堆音符),以及它们相对于另一个形状的定位(在这种情况下是五线谱上的线条,或五线谱本身);如果没有,任何其他关于如何做到这一点的想法都会很棒。

也许你可以指出我在谷歌中寻找什么的方向,让我开始处理这个问题。我有两个半月的时间来做这个项目(如果你知道这个),所以我会很感激任何帮助。先感谢您。

0 投票
1 回答
1309 浏览

opencv - 在 OpenCV 中识别手绘形状

我有以下任务:从静止图像(不是视频流)中识别一张纸上的一组简单手绘形状,因此它们的像素可能不完全相同。

这些形状基本上是平面图中的门、窗等符号(见附图),因此它们可能会略微缩放或旋转(90° 步长)。大约有5种不同的。

到目前为止,我遇到了SIFT(及其 OpenCV 变体SURFORB)以及一个级联分类器来识别类似 haar 的特征

对于 SIFT,这种形状的关键点似乎太少了,而我没有设法让 haar 训练的级联分类器工作。此外,级联分类器对于识别如此简单的形状似乎有点重,不是吗?


你们中有人有什么好的提示或替代方法吗?或者也许你甚至有一段我可以使用的代码片段?

门的符号

0 投票
1 回答
176 浏览

matlab - 形状识别神经网络性能不佳

我正在尝试实现一个用于形状识别的神经网络——实际上这些形状是字母。我想实现这个网络来处理从形状中检索到的傅里叶描述符。我的问题是,无论我做什么,改变隐藏层神经元的数量,使用不同的训练函数等等,我总是得到或多或少等于 0.25 的网络性能。我已经为此苦苦挣扎了几天,我真的在这里碰到了一堵砖墙,所以我将不胜感激在这件事上的任何帮助。

F 是实数值傅立叶描述符。

0 投票
1 回答
283 浏览

image-processing - 二值图像的形状相似度度量

我有其中具有各种形状的二进制图像。我想测量两个二值图像之间的形状相似性。为此目的有什么好的措施吗?

0 投票
4 回答
3568 浏览

python - 使用opencv2 python区分图像中的矩形和正方形

我正在学习如何识别提供的图像中的形状。我能够通过几何体中存在的边数来识别形状。但现在我想知道有没有办法区分图像中的正方形和矩形?这是我的代码。目前我只是为几何图形绘制轮廓。

这是示例图像

0 投票
0 回答
193 浏览

matlab - 霍夫变换使用该形状的方程检测形状

是否可以实现霍夫变换来检测形状(以方程的形式给出)。我知道有一个广义的霍夫变换,我们需要将图像和模板传递给它,但是有什么方法可以传递形状方程而不是模板。

0 投票
1 回答
518 浏览

python - 使用 Python opencv 显示识别的形状

我还是opencv的新手,但是我发现了一段代码,它可以识别图像中的形状轮廓并指示它们的中心。唯一的问题是程序会显示一个轮廓和一个中心,并且用户必须手动关闭窗口因此显示另一个形状的中心以及第一个形状。

有没有办法让一个窗口同时指示所有轮廓和形状的中心?

这对我来说很成问题,因为我打算稍后用相机流替换图像。因此,我将不胜感激有关使此代码更高效的任何其他建议。

这是代码(最后两行是嫌疑人):

链接到源

示例图像(将其重命名为shapes3.png)

0 投票
2 回答
1176 浏览

python - 如何在python openCV中计算六边形的内角

我已经使用 OpenCV 在 Python 中检测到六边形的形状。我只想计算它的内角——形状是通过使用轮廓技术和近似来检测的。

六边形

0 投票
2 回答
1318 浏览

python - 识别砖墙上的砖块

我按照不同的教程来识别 OpenCV 中的形状,但这些教程中的大多数只是识别一张纸上的形状。我想把它带到“下一个”层次并识别真实图像中的形状。我认为一个简单的下一步是拍摄一堵砖墙的图像并识别其中的所有砖块,因为它们应该有一个相当简单的形状来识别。我一直在使用以下图像作为练习:

墙.jpg

我的代码如下:

所以我想到的第一件事就是用精巧的边缘检测器获取这堵墙的所有边缘。这给了我以下图像:

精明的.jpg

在这张图片上,我们可以清楚地看到所有的矩形,所以我的想法是通过寻找轮廓很容易找到所有这些矩形。但事实证明并非如此。如果我寻找轮廓,我会得到以下信息:

轮廓.jpg

这显然不是我想要的。我也一直在尝试不同的东西,比如斑点检测器或霍夫线,但似乎都没有奏效。如果有人能给我一些建议,甚至告诉我应该怎么做,我真的会很高兴!提前致谢!

0 投票
0 回答
247 浏览

c++ - 使用 OpenCV 识别相似的形状/图像

我有两张看起来相似的图像,我想与 openCV 比较它们的相似性(百分比或数字)。

其中一个位于“数据库”中,并与形状的手绘版本进行比较。

标准化图像 手绘图像

如果形状具有封闭区域(例如三角形和手绘三角形),这适用于 matchShapes() 和 findContours。不幸的是,它根本不适用于顶部的图像。

有没有什么功能可以做到这一点?