基于 SpringMvc + OpenCV 實(shí)現(xiàn)的答題卡識(shí)別系統(tǒng)(附源碼)

java_opencv
項(xiàng)目介紹
OpenCV是一個(gè)基于BSD許可(開源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺庫,它提供了一系列圖像處理和計(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ù)庫交互,就是個(gè)頁面操作效果實(shí)時(shí)查看的功能,現(xiàn)在很簡(jiǎn)單。前端使用的是AdminLTE 2,一個(gè)基于 bootstrap 的輕量級(jí)后臺(tái)模板。
安裝教程
下載項(xiàng)目maven更新 執(zhí)行readme中需要的本地maven依賴jar 如果需要使用tesseract方式識(shí)別頁碼,注意tessdata放到tomcat的bin目錄下 參照項(xiàng)目中JAVA集成OpenCV,配置linux或windows環(huán)境Linux下配置OpenCVWindows下配置OpenCV 數(shù)據(jù)庫配置目前用不到,可以直接去掉spring-context.xml中關(guān)于數(shù)據(jù)源的配置,也可以隨便指定個(gè)連接數(shù)據(jù)庫地址 有的小伙伴@武 在tomcat啟動(dòng)項(xiàng)目調(diào)用時(shí)會(huì)出現(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)容
圖像二值化 圖像自適用二值化 高斯模糊 圖片縮放 腐蝕膨脹 進(jìn)階形態(tài)學(xué)變換 邊緣檢測(cè) 檢測(cè)直線 檢測(cè)圓 檢測(cè)顏色 輪廓識(shí)別 模板查找 繪制灰度直方圖 答題卡識(shí)別demo 圖像矯正(透視變換)
系統(tǒng)效果



開源項(xiàng)目源碼:
https://gitee.com/songer/java_opencv
1. websocket+netty實(shí)時(shí)視頻彈幕交互功能(Java版)
4. 30 個(gè) ElasticSearch 調(diào)優(yōu)知識(shí)點(diǎn),都給你整理好了!
最近面試BAT,整理一份面試資料《Java面試BATJ通關(guān)手冊(cè)》,覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)等等。
獲取方式:點(diǎn)“在看”,關(guān)注公眾號(hào)并回復(fù) Java 領(lǐng)取,更多內(nèi)容陸續(xù)奉上。
文章有幫助的話,在看,轉(zhuǎn)發(fā)吧。
謝謝支持喲 (*^__^*)

