基于 SpringMvc + OpenCV 實現(xiàn)的答題卡識別系統(tǒng)(附源碼)
java_opencv
項目介紹
OpenCV是一個基于BSD許可(開源)發(fā)行的跨平臺計算機視覺庫,它提供了一系列圖像處理和計算機視覺方面很多通用算法。是研究圖像處理技術(shù)的一個很不錯的工具。最初開始接觸是2016年因為公司項目需要,但是當(dāng)時網(wǎng)上可供參考的demo實在太少了,而且基本上都是基于C、C++實現(xiàn)的。
也就是從2017年開始,關(guān)于java+opencv的資料才漸漸多起來。處于這種情況,就想搭建一個有助于我們學(xué)習(xí)和了解opencv的一個平臺。因此就有了這個系統(tǒng)。
從安裝開始,和大家一起學(xué)習(xí)記錄OpenCV的相關(guān)知識,直至最終一個簡單但完整DEMO的實現(xiàn)(答題卡識別)。
軟件架構(gòu)
SpringMVC+AdminLTE 2+maven。考慮到之前demo測試,要么都是生成圖片查看效果,要么用swing繪制,遇到參數(shù)變化的時候,不便于調(diào)試,于是就做成了大家熟悉的web模式。后臺是基于SpringMVC,也沒有數(shù)據(jù)庫交互,就是個頁面操作效果實時查看的功能,現(xiàn)在很簡單。前端使用的是AdminLTE 2,一個基于 bootstrap 的輕量級后臺模板。
安裝教程
下載項目maven更新 執(zhí)行readme中需要的本地maven依賴jar 如果需要使用tesseract方式識別頁碼,注意tessdata放到tomcat的bin目錄下 參照項目中JAVA集成OpenCV,配置linux或windows環(huán)境Linux下配置OpenCVWindows下配置OpenCV 數(shù)據(jù)庫配置目前用不到,可以直接去掉spring-context.xml中關(guān)于數(shù)據(jù)源的配置,也可以隨便指定個連接數(shù)據(jù)庫地址 有的小伙伴@武 在tomcat啟動項目調(diào)用時會出現(xiàn)UnstatisfiedLinkError:no opencv_java2413 in java.library.path 異常信息,可以通過輸出System.out.println(System.getProperty("java.library.path"));打印一下本地的library地址。將dll文件放到輸出的地址中,如jdk的bin目錄下;tomcat的bin目錄等,重啟tomcat就可以解決該問題。
演示地址
demo演示:
https://ocr.biecuihun.com/java_opencv
主要內(nèi)容
圖像二值化 圖像自適用二值化 高斯模糊 圖片縮放 腐蝕膨脹 進階形態(tài)學(xué)變換 邊緣檢測 檢測直線 檢測圓 檢測顏色 輪廓識別 模板查找 繪制灰度直方圖 答題卡識別demo 圖像矯正(透視變換)
系統(tǒng)效果



開源項目源碼:
https://gitee.com/songer/java_opencv
END
順便給大家推薦一個GitHub項目,這個 GitHub 整理了上千本常用技術(shù)PDF,絕大部分核心的技術(shù)書籍都可以在這里找到,
GitHub地址:https://github.com/javadevbooks/books
Gitee地址:https://gitee.com/javadevbooks/books
電子書已經(jīng)更新好了,你們需要的可以自行下載了,記得點一個star,持續(xù)更新中..

