Программа OMR с использованием VB.Net
У меня есть несколько отсканированных изображений BMP или пузырьковый лист OMR. Я должен прочитать отметки в нем. Я хочу сделать эту работу с помощью VB.NET. следующие задачи, которые я должен выполнить
- Deskew изображения
- Найти контрольные точки (4 квадрата, в моем случае)
- Обрезать изображения на основе контрольных точек.
- Прочитайте круглые отметки.
Теперь, как это сделать?
1 ответ
Что мне действительно нужно, так это библиотека обработки изображений. Сначала придет в голову openCV. Но openCV напрямую не совместим с языками.NET. Существует EmguCV, который на самом деле является оболочкой openCV для.NET Framework.
Но в моем случае я использовал Aforge.NET. Это фреймворк C# для CV и искусственного интеллекта - обработка изображений, нейронные сети, генетические алгоритмы, машинное обучение, робототехника и т. Д. Его легко изучить и реализовать. Эта структура хорошо документирована здесь и полностью совместима с VB.NET.
openCV также может быть использован для этой цели, но это будет немного сложно. Одним из способов может быть разработка DLL-библиотеки Dynamic Link Library) на C++ (или на любом другом языке, поддерживаемом OpenCV), а затем использование этих функций из приложения VB.NET.
Контрольные точки могут быть обнаружены путем обнаружения блобов или анализа контуров, а фильтрация результата даст контрольные точки. Затем изменение размера, обрезка, выравнивание и перспективное наложение могут быть выполнены с использованием используемой библиотеки обработки изображений или каркаса.