问题标签 [optical-mark-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 投票
3 回答
3243 浏览

c# - 测试扫描文档上是否勾选复选框的正确方法是什么?

假设我们正在扫描带有复选框/空圆圈(用于签名/敲击/打勾)的类似测试的文档。什么是正确的方法来检查,如果已经裁剪的复选框/圆圈被选中/签名/罢工/打勾?
如果我们强制测试用户完全标记该区域,只知道复选框/圆圈的位置和非白色像素上的计数就足够了(会吗?),但是我们应该用什么方法来测试,即复选框/圆圈被勾选或选中(X)?

这将成为 C# 项目的一部分,因此将不胜感激代码甚至是 .net/c/c++ 的现成库。

0 投票
1 回答
1917 浏览

ios - Scanning or reading an image containing optical marks on answer sheets using iphone/ipad

What is the best way to get started with OMR processing in iOS? I need to scan an answer sheet containing marked ovals and process the results using an iphone/ipad?

I am new to this so any help would be great?

http://www.leadtools.com/sdk/ocr/omr.htm include SDKS for OMR. But could n't find good documentation on it. Is there a better tool /way to do it?

Should I consider looking into Image processing and detecting oval shapes on the image?

Does iOS provide any framework to support or ease this?

0 投票
1 回答
6005 浏览

python - Scikit 图像颜色过滤并将图像的部分更改为数组

我想使用 scikit-image 做一些光学标记识别。我正在寻找 2 个功能

假设我有一个看起来像这样的图像:光学磁共振

我检测它的方式是使用过滤器来清理图像:(即filter模块中噪声斑点的双边和高斯过滤)

然后我会在模块中使用灰度第三我会在模块color中使用精明的边缘检测器filter

我试图找出我用什么来按颜色过滤单元格,以便我可以区分红色和蓝色?

我猜有一些用于色调、饱和度和亮度或 RGB 的功能可用于过滤掉特定颜色或可用于k-means过滤scikit learn数据的某些东西

其次是我如何将此图像转换为 numpy 数组/熊猫数据框,如下所示:

其中红色为 1,蓝色为 2,白色为 0。我看到有些人在它下面放了一条线,但不知道它叫什么,也不知道它是否在 sk-image 中可用。

0 投票
3 回答
5785 浏览

python - 使用opencv删除圆圈

我正在研究 opencv 问题以找出填充了哪些圆圈。然而,有时圆的边缘是误报的原因。我想知道是否可以通过将所有在 RGB 中具有高 R 值的像素变为白色来移除这些圆圈。我的方法是创建一个粉红色的像素蒙版,然后从原始图像中减去蒙版以去除圆圈。截至目前,我正在获得黑色面具。我做错了什么。请指导。

在此处输入图像描述

0 投票
1 回答
688 浏览

python - 查找填充的网格元素

我正在尝试找到带有圆圈/十字的网格元素或里面填充的东西。我使用这里的代码来构建我的逻辑。

逻辑 - 查找网格坐标 -> 使用每个矩形块的左上角和右下角坐标提取网格元素的子图像 -> 查找非零像素的数量 -> 如果矩形填充超过 50%,则将其视为已填充

如果网格为空,我能够成功找到所有网格坐标。但是,如果填充了任何网格元素,则从图像中可以看出,事情不会按预期工作。如何修复此代码以每次成功确定所有网格坐标?

图像.png res2.png res3.png res4.png res5.png res6.png

0 投票
1 回答
1989 浏览

python - Python检索JPEG图像上黑色矩形左上角的(x,y)坐标

背景:我正在尝试创建一个软件来自动标记答卷。试卷格式固定,如下:

在此处输入图像描述

问题:为了检测用户交叉的框(A、B、C?),我需要根据 4 个黑色矩形裁剪或进行透视变换。如何检索上图中四个黑色矩形的坐标,最好使用OpenCV

附加信息:一旦我可以裁剪出答案框的药水,如下所示: 在此处输入图像描述

由于我知道每个框的确切尺寸,我可以比较每个框(A、B、C)中的黑色像素数,以检查用户越过哪个框。(假设用户不越过一个框)

欢迎所有建设性的建议。

0 投票
1 回答
1044 浏览

c# - 使用 C# 进行光学标记识别

这是一个确定一个点是否在图像边界内并检查它是否与其他圆圈重叠的函数。

如果它返回 true,那么我检查填充黑色的圆圈的阈值,然后将填充超过 90% 的点保存到点列表中。

我的程序分两步工作

1)如果它形成一个没有重叠的圆圈。

2) 如果已填充 90%。

我面临一个错误,如果我传递一个只有 1 个圆圈的图像,它会节省 1408 个圆圈。我不知道我做错了什么。

下面是按钮点击事件

下面给出的功能

下面给出的是 checkOverlap 函数

0 投票
2 回答
1684 浏览

android - 如何在 Android 上播放 MusicXML 文件?

是否有任何现有的工具或库来解决这个问题?我目前正在尝试开发一个应用程序,它可以拍摄乐谱的图像并将其转换为 musicxml 格式并播放相应的音频。而且我被困在如何准确播放来自musicxml的音频。

0 投票
1 回答
779 浏览

java - JavaCV内存不足,分配内存失败

我正在使用 JavaCV 开发 OMR(光学标记识别)应用程序,OpenCV 的 Java 接口。该应用程序可以正常运行 200 张图像,但之后它无法在我的代码中为 IplImage 分配内存。当我尝试克隆 imgx 时出现分配错误并将其分配给 imgxc1。您能建议一个程序化修复它吗?增加堆大小似乎是一个临时解决方案?

这是初始化代码(发生异常的地方):

这是清理代码:

堆栈跟踪:

0 投票
1 回答
450 浏览

android - 如何识别应用程序中存储的模板的图像

它需要识别图标。例如,该应用程序使用手机摄像头进行扫描并识别下面的图标之一,如果它识别,则该应用程序执行一些操作。它通过与应用程序中存储的图标进行比较来识别它。

任何库,手册,请。

如果要搜索,如何命名这个任务:光学图像识别?(这不是 OCR,因为识别图像而不是文本,对吧?)

非常感谢!

在此处输入图像描述