單向信息傳輸系統設計實現


     之前一直是做靜態圖片分析的,機器視覺項目如果想要在線分析,必然需要進行動態分析。前一段時間,我閱讀了一些書籍,介紹了一種通過機器視覺的單向信息傳輸系統。主要在內外網隔離的情況下進行數據單向傳輸。
   這樣的系統,必然是真正的“機器視覺”系統,不僅包括圖像算法的處理,而且需要包括設備的架設,並且結合多種技術(OCR,二維碼),具有一定挑戰意義和現實意義。這里做簡單實現。
 
   一 、基於OCR的單 向信息傳輸系統。
   所謂單項數據傳輸,書中提到的方法是采用ASCII碼進行分析。但是我認為采用OCR識別的話,如果能夠很好地控制住傳輸的信息,成功率就會很高。
   什么信息需要單項傳輸?就是那些實時更新的數據,數據量不是很大但是時效性很大:比如天氣、比如溫度、比如時間等信息。這個信息量一旦變得很大,那么采用機器視覺的方法解決單向傳輸問題,就顯得不是那么恰當。根據一些經驗,設計這樣的草圖:
 
數據不需要太多或者變化太快,只要采樣的頻率比變化的頻率更快就可以。采用csharp
1)數據獲取,這里基於之前介紹過的GOPre程序獲得攝像頭的數據
2)數據進行校正,修改成這樣的結果
3)參考答題卡程序,對圖像進行修正
做到這一步,相關的內容信息可以獲取。下一步就是OCR的問題,可以參考我之前發的相關資料。
需要注意,在這種情況下進行OCR識別,對於圖像的問題的要求很高,由於里面涉及到模板識別的代碼,如果輸入有問題,程序可能會報錯。這是在實際項目中需要注意的地方。
   二 、基於二維碼的單 向信息傳輸系統。
     這個時候我在設想,如果采用了直接字符OCR的方法,這種方法的優點是思路清晰、可以處理大量信息;相比較而言,許多解決方案可能會采用一維碼或者是二維碼的方法。這種方法,帶有冗余校驗信息,數據傳播的魯棒性大大增強,但是復雜度也增強了,可以說互有利弊。
     二維碼可以說是今日這個時代里面發展比較迅速的一個技術。既然前面已經將ocr做到了一定的程度,這里,我轉變思路,而是用二維碼來所謂“單向傳輸問題”
1)基於ZXING,編寫二維碼編碼解碼器。這個庫比較優秀,對於二維碼的輸入也有一些預先的處理,不是很挑。而且是開源代碼庫,有時間值得研究一下。
2)采集圖片
經過一定的測試,發現將分辨率設定在640*480的時候,無論是
還是
都是可以被識別的,即使傾斜也沒有問題。但是識別是需要一定的時間的。本來以為可能需要Opecv做需要預處理的,結果也不需要進行預先處理。這種思路經過多次測量,結果是可行的。
3)選擇實現模式
因為在這個解決方案中,主要是利用zxing的接口來實現的,而其中圖像處理的東西並不多,但是涉及到了攝像頭的圖像獲取,所以選擇合適的實現模式。
emgucv例程序提供了cameracapture的效果,借用過來
4)選擇實現模式 
具體的代碼就是柔和了二維碼生成和解碼;以及emgucv的攝像頭操作。難度不是很大。
 
、小結
    當程序變成動態的時候,遇到了更多的挑戰,你必須要編寫相關的界面程序、必須處理攝像頭的問題:往往是需要將幾件事情一起來做,有的時候還要涉及到多線程。
   但是從另一個方面來說,動態的才能夠是實時的,實時的才能夠是在線的。這是從“圖像識別”向“機器視覺”的概念的改變。
   越是復雜的構造需要考慮的問題越多,越難以保持系統的魯棒。但是,越是復雜的事情,越是值得去探索、實現。我相信能夠獲得的價值也就越高。
   這里展示了兩個想法的原型,關鍵是思路,希望能夠對所需之人有所幫助。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM