2012-02-22 79 views
3

我是OpenCV中的新成员,我想用ANN来实现OCR。我尝试搜索示例,但没有看到任何使用图像处理的ANN的示例。OpenCV中带有ANN的OCR示例

然后我看到这个例子basicOCRwithANN但是当我把它归类有误差率超过90%时,我尝试这个代码

可有人告诉我,用神经网络来实现OCR或图像处理

回答

0

为例您只需点击链接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头文件在我系统中的位置,-L/opt/qt_47x/lib/指定Qt库目录。这2条路径在您的系统上可能不同,因此您需要适当调整它们。

然后执行你需要去到以前的目录,然后运行./src/main和选择选项编号3,直到网络进行训练一个新的窗口会弹出等待大约5-10分钟主要。这个窗口让你画画(希望是一个数字),当你完成后,在你的键盘上按C分类图像并在控制台上观看结果。

如果不是这样做的话,我相信你已经能够发现如何使用应用程序,因为应用程序的编译已经完成。

编辑:

在这种情况下,download并测试latest available package。这个软件包带来了CMake项目文件,使编译变得更容易。它也提高了分类的准确率。但我不知道这个版本是否使用ANN。也许你必须为这两个版本做一些Frankenstein编程。

+0

我可以编译这段代码,但是当我分类时它的错误率超过了90%。这意味着它不能分类,不能编译。 – user997274 2012-02-22 14:53:26

+0

我明白了。更新后的答案将链接到最新的可用软件包。手写数字的检测要好得多。 – karlphillip 2012-02-22 15:52:51

+0

谢谢,但我之前使用过KNN,在分类时需要很长时间,所以我想用ANN代替KNN。 – user997274 2012-02-22 16:13:40