计网实验:利用可见光传输信息

利用可见光传输信息

主要流程实现:

编码部分

读取待测文件导入字符串后,给字符串加入crc校验码,接着分别在开头加入起始码和结束码

crc校验码
加入开始码和结束码

对二维码识别及创建等相关函数

寻找二维码边框轮廓:对图像进行灰度图处理;
将图片进行滤波处理,目的是排除一些椒盐噪音(除去雪花);
进行黑白二值化处理,以255的一半(127)为界限,进行二值化
在这里插入图片描述

我们采用4个定位码进行定位,分别为三个大的定位码和在右下角一个小的定位码,根据定位小定位码的位置进行扭转,使图片回正方便读取

定位二维码需要判断三个定位点的位置和角度关系,二维码示例如下:
在这里插入图片描述
大的二维码分别在左上,右上,左下三个位置,首先定位4个定位码的位置,通过cv2内置的函数findContours找出所有矩形
在这里插入图片描述

再通过判断矩形是否存在大回型和小回型确认找到定位点
在这里插入图片描述
找出三个大定位点的中心距,利用余弦定理,即三个大定位点的中心距为等腰直角三角形确认位置
在这里插入图片描述
由于视频可能翻转,按照顺时针确定四个定位点的位置,然后将图片校正

放大图片,由于cv2.resize放大图片一定会出现模糊情况,使用直接对nparray放大。
在这里插入图片描述
rgb三通道需要加入掩膜码,我们加入000型掩膜码
在这里插入图片描述
最后将图片转视频
在这里插入图片描述

二维码编码部分基本完成

解码部分

解码是编码的反过程,解码通过对空图片进行检测,以确定解码开始。识别开始码将数据导出,解crc解掩膜,最后记录在文件里
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值