分享一個(gè)基于 SpringMvc + OpenCV 的答題卡識(shí)別系統(tǒng)
簡(jiǎn)介
OpenCV是一個(gè)基于BSD許可(開源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺庫(kù),它提供了一系列圖像處理和計(jì)算機(jī)視覺方面很多通用算法。是研究圖像處理技術(shù)的一個(gè)很不錯(cuò)的工具。最初開始接觸是2016年因?yàn)楣卷?xiàng)目需要,但是當(dāng)時(shí)網(wǎng)上可供參考的 demo 實(shí)在太少了,而且基本上都是基于C、C++實(shí)現(xiàn)的。也就是從 2017 年開始,關(guān)于 java+opencv 的資料才漸漸多起來。處于這種情況,就想搭建一個(gè)有助于我們學(xué)習(xí)和了解 opencv 的一個(gè)平臺(tái)。因此就有了這個(gè)系統(tǒng)。從安裝開始,和大家一起學(xué)習(xí)記錄 OpenCV 的相關(guān)知識(shí),直至最終一個(gè)簡(jiǎn)單但完整 DEMO 的實(shí)現(xiàn)(答題卡識(shí)別)。
軟件架構(gòu)
SpringMVC+AdminLTE 2+maven。考慮到之前 demo 測(cè)試,要么都是生成圖片查看效果,要么用 swing 繪制,遇到參數(shù)變化的時(shí)候,不便于調(diào)試,于是就做成了大家熟悉的 web 模式。后臺(tái)是基于 SpringMVC,也沒有數(shù)據(jù)庫(kù)交互,就是個(gè)頁(yè)面操作效果實(shí)時(shí)查看的功能,現(xiàn)在很簡(jiǎn)單。前端使用的是AdminLTE 2,一個(gè)基于 bootstrap 的輕量級(jí)后臺(tái)模板。
主要內(nèi)容
圖像二值化
圖像自適用二值化
高斯模糊
圖片縮放
腐蝕膨脹
進(jìn)階形態(tài)學(xué)變換
邊緣檢測(cè)
檢測(cè)直線
檢測(cè)圓
檢測(cè)顏色
輪廓識(shí)別
模板查找
繪制灰度直方圖
答題卡識(shí)別demo
系統(tǒng)效果



另外正在陸續(xù)實(shí)現(xiàn)一個(gè)拍照識(shí)別答題卡的小程序,可以微信小程序搜索掃掃閱卷。


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

