由于不同颜色的物体,其反射的可见光的波长不同,白色物体能反射各种波长的可见光,黑色物体则吸收各种波长的可见光。所以当摄像头扫描黑白相间的二维码上时,手机利用点运算的阈值理论将采集到的图象变为二值图像,即对图像进行二值化处理,得到二值化图像后,对其进行膨胀运算,对膨胀后的图象进行边缘检测得到条码区域的轮廓。
然后经过一项灰度值计算公式对图像进行二值化处理。得到一幅标准的二值化图像后,对该符号进行网格采样,对网格每一个交点上的图像像素取样,并根据阈值确定是深色“1”还是浅色“0”,从而得到二维码的原始二进制序列值,然后对这些数据进行纠错和译码,最后根据条码的逻辑编码规则把这些原始的数据转换成数据。
三个大黑方块起什么作用呢?我们在使用手机扫描的时候无论是什么方向,都能够正确识别二维码的内容,就是因为手机通过三个大黑方块识别出二维码正确的方向。
安卓开发一般使用开源框架ZXING。其操作一般经过以下几个步骤:初始化相机,设置一些相机参数;绑定SurfaceView,在SurfaceView上显示预览图像;获取相机的一帧图像;对图像进行一定的预处理,只保留亮度信息,成为灰度图像;对灰度图像进行二维码解析,解析成功进入下一步,不成功回到获取图像的操作过程;返回解析结果并退出。
1、首先创建HTML+javascript文件。
2、然后在创建好的html页面中,编写js,如下图所示。
3、然后编写java类,接收js的请求。
4、接着编写查询数据库的方法。
5、最后就可以运行程序,javascript根据返回的值,可以在HTML上渲染数据了。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)