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

java_opencv
項目介紹
OpenCV是一個基于BSD許可(開源)發(fā)行的跨平臺計算機視覺庫,它提供了一系列圖像處理和計算機視覺方面很多通用算法。是研究圖像處理技術的一個很不錯的工具。最初開始接觸是2016年因為公司項目需要,但是當時網上可供參考的demo實在太少了,而且基本上都是基于C、C++實現(xiàn)的。
也就是從2017年開始,關于java+opencv的資料才漸漸多起來。處于這種情況,就想搭建一個有助于我們學習和了解opencv的一個平臺。因此就有了這個系統(tǒng)。
從安裝開始,和大家一起學習記錄OpenCV的相關知識,直至最終一個簡單但完整DEMO的實現(xiàn)(答題卡識別)。
軟件架構
SpringMVC+AdminLTE 2+maven。考慮到之前demo測試,要么都是生成圖片查看效果,要么用swing繪制,遇到參數(shù)變化的時候,不便于調試,于是就做成了大家熟悉的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中關于數(shù)據(jù)源的配置,也可以隨便指定個連接數(shù)據(jù)庫地址 有的小伙伴@武 在tomcat啟動項目調用時會出現(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
主要內容
圖像二值化 圖像自適用二值化 高斯模糊 圖片縮放 腐蝕膨脹 進階形態(tài)學變換 邊緣檢測 檢測直線 檢測圓 檢測顏色 輪廓識別 模板查找 繪制灰度直方圖 答題卡識別demo 圖像矯正(透視變換)
系統(tǒng)效果



開源項目源碼:
https://gitee.com/songer/java_opencv
最近面試BAT,整理一份面試資料《Java面試BATJ通關手冊》,覆蓋了Java核心技術、JVM、Java并發(fā)、SSM、微服務、數(shù)據(jù)庫、數(shù)據(jù)結構等等。
獲取方式:點“在看”,關注公眾號并回復 Java 領取,更多內容陸續(xù)奉上。
文章有幫助的話,在看,轉發(fā)吧。
謝謝支持喲 (*^__^*)

