我是OpenCV的新手,我想用ANN实现OCR。我尝试搜索示例,但没有看到任何将ANN与图像处理一起使用的示例。

然后我看到这个示例basicOCRwithANN,但是当我对它进行分类时,尝试此代码时错误率超过90%

有人可以告诉我一个使用ANN实施OCR或图像处理的示例吗

最佳答案

您需要做的就是通过单击Zip Archive的链接下载main page of the project上的完整zip。

此应用程序使用Qt,因此最好将其安装在系统上。

在编译之前,您需要对代码进行一次快速更改。转到 src 目录并打开 main.cpp ,并在#if QUICKSTART之前添加以下说明:

#undef QUICKSTART

要在Linux上编译此应用程序,请在 src 目录中执行以下命令:
g++ main.cpp blackbird.cpp tests/lkdemo.cpp tests/ocr/mainOCR.cpp tests/rectifytest.cpp tests/camshift.cpp tests/ocr/basicOCR.cpp tests/StreamImportExport.cpp tests/ocr/basicFunctions.cpp pipeline/Pipeline.cpp pipeline/Properties.cpp pipeline/MarkerArea.cpp pipeline/Utils.cpp pipeline/modules/perspective_correction/Blob.cpp pipeline/modules/perspective_correction/BlobExtraction.cpp pipeline/modules/perspective_correction/BlobResult.cpp pipeline/modules/output/Output.cpp pipeline/modules/test_module/TestModule.cpp pipeline/modules/beamer/Beamer.cpp pipeline/modules/beamer_calibration/BeamerCalibration.cpp pipeline/modules/perspective_correction/PerspectiveCorrect.cpp view/View.cpp -o main -I/usr/local/include/opencv -I/usr/local/include  -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -I/opt/qt_47x/include/ -L/opt/qt_47x/lib/ -lQtGui -lQtCore

这将生成一个名为 main 的可执行文件。 注意,即-I/opt/qt_47x/include/指的是Qt header 在我的系统中的位置,并且-L/opt/qt_47x/lib/表示Qt库目录。这两个路径在您的系统上很可能是不同的,因此您需要适当地调整它们。

然后,要执行,您需要转到上一个目录并运行./src/main并选择选项号3。等待大约5-10分钟,直到网络训练完毕,然后会弹出一个新窗口。使用此窗口可以绘制(希望是一个数字),完成后按键盘上的 C 可以对图像进行分类并在控制台上观看结果。

如果这不是做到这一点的方法,那么我相信您能够发现自己如何使用该应用程序,因为该应用程序的编译已完成。

编辑:

在这种情况下,请download并测试latest available package。该软件包带来了CMake项目文件,使编译更加容易。它也大大提高了分类的准确率。但我不知道该版本是否使用ANN。也许您需要对这两个版本进行一些科学怪人编程。

关于opencv - OpenCV中带有ANN的OCR示例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9395303/

10-12 21:54