# qrcode **Repository Path**: walkerzj/qrcode ## Basic Information - **Project Name**: qrcode - **Description**: 不同秘级网络间信息传输过程采用伪二维码编解码的方式进行信息传输。实现对包括文件名,文件创建时间,文件修改时间,文件访问时间,图像宽度,图像高度,文件内容,当前为第几张图像以及校验码(采用md5校验)的编码工作;同时完成包括对图像色块取值、色值映射、数值编码、md5编码信息校验、编码转文件的解码全流程工作。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-10-19 - **Last Updated**: 2023-01-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # qrcode #### Description 不同秘级网络间信息传输过程采用伪二维码编码-》拍照-》解码方式进行信息传输。实现对包括文件名,文件创建时间,文件修改时间,文件访问时间,图像宽度,图像高度,文件内容,当前为第几张图像以及校验码(采用md5校验)的编码工作;同时完成包括对图像色块取值、色值映射、数值编码、md5编码信息校验、编码转文件的解码全流程工作。单张屏幕中显示9张伪二维码对应3个高速摄像机。 #### Software Architecture Software architecture description 1. 8qrcode: 基于8色进行编解码,包含三个文件 1.1 generate_standard_pic: 形成标准的8色图像代码 1.2 encode: 基于8色对文件进行编码,可单独运行binary_to_pic.py脚本查看编码具体情况也可运行main_api.py脚本启动flask接口,并传入文件地址参数进行编码。 注:如果想看见具体的图片展示效果需将binary_to_pic.py中的self.del_file注释,并取消self.show_pic的注释 1.3 decode: 基于8色对图像进行解码,当前完成进度为已经通过标准图像及标准图像拍摄后的图像建立算法动态获取最优的像素点位置矩阵,并基于此矩阵可带入实验环境中的原始图像和拍摄后的图像进行色值验证,验证此方法对拍摄后图像的识别误差。 注:当前采用的动态识别像素点位置矩阵的方法比较复杂,原理为首先获取拍摄后图像中色值对应原始图像第一个点的最优位置(这里使用的色值对应算法也比较复杂,不仅仅是依据rgb阈值进行计算,还包含了大小色值间距计算),并确定此位置为第一个色块的起始点,随后按动态间隔获取其余每个色块的最优点位,从而组成最优点位矩阵。可运行decode_pic_to_file.py脚本查看当前动态确定最优像素矩阵的正确性 2. 64qrcode: 为64色文件编解码的实验代码,同样也是没有封装好的代码 #### Installation 1. 安装py3.6基础环境,也可以是py3其他环境 2. 选择在8qrcode目录下运行py文件则代表使用的是8色进行编解码,选择在64qrcode目录下运行py文件则代表使用的是64色进行编解码, 当前因摄像机的原因仅使用8色进行编解码,弃用64色 3. 使用pip或者conda安装requestments.txt中对应的包 #### Instructions 1. 当前由于设备限制,选择使用8色进行编解码。 2. 编解码目录中data: 信息传输的原始文件;data1: 显示在屏幕上的由9张伪二维码组合而成的伪二维码;data2: 用于测试使用的三张伪二维码合成的一张bmp图。 #### Contribution Josco