使用 VB.Net 的 OMR 程序
OMR program using VB.Net
我有一些扫描的 BMP 图像或 OMR 气泡 Sheet。我必须阅读其中的标记。我想使用 VB.NET 完成这项工作。我必须执行以下任务-
- 校正图像
- 找到参考点(4 个方块,在我的例子中)
- 根据参考点裁剪图像。
- 阅读圆形标记。
现在该怎么做?
我需要的其实是一个图像处理库。首先想到的是openCV。但 openCV 直接与 .NET 语言不兼容。有 EmguCV,它实际上是 .NET 框架的 openCV 包装器。
但在我的例子中,我使用了 Aforge.NET. It is a C# framework for CV and Artificial Intelligence - image processing, neural networks, genetic algorithms, machine learning, robotics, etc. It is easy to learn and implement. This framework is well documented here 并且与 VB.NET 完全兼容。
openCV 也可以用于此目的,但这会有点棘手。一种方法是用 C++(或任何其他 OpenCV 支持的语言)开发动态 Link 库 DLL),然后从 VB.NET 应用程序中使用这些函数。
可以通过斑点检测或轮廓分析来检测参考点,并对结果进行过滤将给出参考点。然后可以使用正在使用的图像处理库或框架执行调整大小、裁剪、校正和透视环绕。
我有一些扫描的 BMP 图像或 OMR 气泡 Sheet。我必须阅读其中的标记。我想使用 VB.NET 完成这项工作。我必须执行以下任务-
- 校正图像
- 找到参考点(4 个方块,在我的例子中)
- 根据参考点裁剪图像。
- 阅读圆形标记。
现在该怎么做?
我需要的其实是一个图像处理库。首先想到的是openCV。但 openCV 直接与 .NET 语言不兼容。有 EmguCV,它实际上是 .NET 框架的 openCV 包装器。
但在我的例子中,我使用了 Aforge.NET. It is a C# framework for CV and Artificial Intelligence - image processing, neural networks, genetic algorithms, machine learning, robotics, etc. It is easy to learn and implement. This framework is well documented here 并且与 VB.NET 完全兼容。
openCV 也可以用于此目的,但这会有点棘手。一种方法是用 C++(或任何其他 OpenCV 支持的语言)开发动态 Link 库 DLL),然后从 VB.NET 应用程序中使用这些函数。
可以通过斑点检测或轮廓分析来检测参考点,并对结果进行过滤将给出参考点。然后可以使用正在使用的图像处理库或框架执行调整大小、裁剪、校正和透视环绕。