码迷,mamicode.com
首页 > 其他好文 > 详细

单向信息传输系统设计实现

时间:2015-01-18 08:12:16      阅读:403      评论:0      收藏:0      [点我收藏+]

标签:

    之前一直是做静态图片分析的,机器视觉项目如果想要在线分析,必然需要进行动态分析。前一段时间,我阅读了一些书籍,介绍了一种通过机器视觉的单向信息传输系统。主要在内外网隔离的情况下进行数据单向传输。
   这样的系统,必然是真正的“机器视觉”系统,不仅包括图像算法的处理,而且需要包括设备的架设,并且结合多种技术(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的摄像头操作。难度不是很大。
技术分享
 
、小结
    当程序变成动态的时候,遇到了更多的挑战,你必须要编写相关的界面程序、必须处理摄像头的问题:往往是需要将几件事情一起来做,有的时候还要涉及到多线程。
   但是从另一个方面来说,动态的才能够是实时的,实时的才能够是在线的。这是从“图像识别”向“机器视觉”的概念的改变。
   越是复杂的构造需要考虑的问题越多,越难以保持系统的鲁棒。但是,越是复杂的事情,越是值得去探索、实现。我相信能够获得的价值也就越高。
   这里展示了两个想法的原型,关键是思路,希望能够对所需之人有所帮助。

 

单向信息传输系统设计实现

标签:

原文地址:http://www.cnblogs.com/jsxyhelu/p/4231447.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!