2012-02-22 46 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