网站商城怎么做的中国发达国家还有多远

diannao/2025/10/21 18:55:03/文章来源:
网站商城怎么做的,中国发达国家还有多远,东莞东城中学,两新支部网站建设文章目录 0 前言2 二维码基础概念2.1 二维码介绍2.2 QRCode2.3 QRCode 特点 3 机器视觉二维码识别技术3.1 二维码的识别流程3.2 二维码定位3.3 常用的扫描方法 4 深度学习二维码识别4.1 部分关键代码 5 测试结果6 最后 0 前言 #x1f525; 优质竞赛项目系列#xff0c;今天… 文章目录 0 前言2 二维码基础概念2.1 二维码介绍2.2 QRCode2.3 QRCode 特点 3 机器视觉二维码识别技术3.1 二维码的识别流程3.2 二维码定位3.3 常用的扫描方法 4 深度学习二维码识别4.1 部分关键代码 5 测试结果6 最后 0 前言 优质竞赛项目系列今天要分享的是 pythonopencv深度学习实现二维码识别 该项目较为新颖适合作为竞赛课题方向学长非常推荐 学长这里给一个题目综合评分(每项满分5分) 难度系数3分工作量3分创新点3分 更多资料, 项目分享 https://gitee.com/dancheng-senior/postgraduate 2 二维码基础概念 2.1 二维码介绍 二维条码/二维码2-dimensional bar code是用某种特定的几何图形按一定规律在平面二维方向上分布的、黑白相间的、记录数据符号信息的图形在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念使用若干个与二进制相对应的几何形体来表示文字数值信息通过图象输入设备或光电扫描设备自动识读以实现信息自动处理它具有条码技术的一些共性每种码制有其特定的字符集每个字符占有一定的宽度具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。 2.2 QRCode 常见的二维码为QR CodeQR全称Quick Response是一个近几年来移动设备上超流行的一种编码方式它比传统的Bar Code条形码能存更多的信息也能表示更多的数据类型。 2.3 QRCode 特点 1、符号规格从版本121×21模块到版本40177×177 模块每提高一个版本每边增加4个模块。 2、数据类型与容量参照最大规格符号版本40-L级 数字数据7,089个字符字母数据: 4,296个字符8位字节数据: 2,953个字符汉字数据1,817个字符 3、数据表示方法 深色模块表示二进制1浅色模块表示二进制0。 4、纠错能力 L级约可纠错7%的数据码字M级约可纠错15%的数据码字Q级约可纠错25%的数据码字H级约可纠错30%的数据码字 5、结构链接可选 可用1-16个QR Code码符号表示一组信息。每一符号表示100个字符的信息。 3 机器视觉二维码识别技术 3.1 二维码的识别流程 首先 对采集的彩色图像进行灰度化 以提高后继的运行速度。 其次 去除噪声。 采用十字形中值滤波去除噪音对二码图像的干扰主要是盐粒噪声。 利用灰度直方图工具 使用迭代法选取适当的阈值 对二维码进行二值化处理灰度化 去噪 二值化 寻找探测图形确定旋转角度 定位 旋转 获得数据使其变为白底黑色条码。 最后 确定二维码的位置探测图形 对条码进行定位 旋转至水平后 获得条码数据 以便下一步进行解码。 3.2 二维码定位 QR 码有三个形状相同的位置探测图形 在没有旋转的情况下 这三个位置探测图形分别位于 QR 码符号的左上角、 右上角和左下角。 三个位置探测图形共同组成图像图形。 每个位置探测图形可以看作是由 3 个重叠的同心的正方形组成 它们分别为 7 7 个深色模块、 5 5 个浅模块和 3*3 个深色模块。 位置探测图形的模块宽度比为 1: 1:3: 1: 1。 这种 1: 1: 3: 1: 1 的宽度比例特征在图像的其他位置出现的可能性很小 故可以将此作为位置探测图形的扫描特征。 基于此特征 当一条直线上称为扫描线 被黑白相间地截为1: 1: 3:1: 1 时 可以认为该直线穿过了位置探测图形。 另外 该扫描特征不受图像倾斜的影响。 对比中的两个 QR 码符号可以发现 无论 QR码符号是否倾斜 都符合 1: 1: 3:1: 1 的扫描特征。 3.3 常用的扫描方法 在 X 方向进行依次扫描。 (1) 固定 Y 坐标的取值 在 X 方向上画一条水平直线称为扫描线 进行扫描。 当扫描线被黑白相间地截为 1: 1: 3: 1: 1 时 可以认为该直线穿过了位置探测图形。 在实际判定时 比例系数允许 0. 5 的误差 即比例系数为1 的 允许范围为 0. 5~1. 5 比例系数为 3 的 允许范围为 2. 5~3. 5。 (2) 当寻找到有直线穿过位置探测图形时 记录下位置探测图形的外边缘相遇的第一点和最后一点 A 和 B。 由 A、 B 两点为端点的线段称为扫描线段。将扫描线段保存下来。 用相同的方法 完成图像中所有水平方向的扫描。 在 Y 方向 使用相同的方法 进行垂直扫描 同样保存扫描得到的扫描线段。 扫描线段分类扫描步骤获得的扫描线段是没有经过分类的 也就是对于特定的一条扫描线段 无法获知其具体对应于三个位置探测图形中的哪一个。 在计算位置探测图形中心坐标之前 要将所有的扫描线段按照位置进行归类。 一般采用距离邻域法进行扫描线段的分类。 距离邻域法的思想是 给定一个距离阈值 dT, 当两条扫描线段的中点的距离小于 d T 时 认为两条扫描线段在同一个邻域内 将它们分为一类 反之则归为不同的类别。 距离邻域法的具体步骤如下 1 给定一个距离阈值 dT d T要求满足以下条件 位于同一个位置探测图形之中的任意两点之间的距离小于 dT 位于不同位置探测图形中的任意两点之间的距离大于 d T 2 新建一个类别 将第 1 条扫描线段归入其中。 3 对于第 i 条扫描线段 l i 2≤i≤n 做以下操作 a) 求出 l i 的中点 C i 。 b) 分别计算C i与在已存在的每一个类别中的第一条扫描线段的中点的距离d若 dd T 则直接将 l i 加入相应类别中。 c) 若无法找到 l i 可以加入的类别 则新建一个类别 将 l i 加入其中。 4 将所有类别按照包含扫描线段的数目进行从大到小排序 保存前 3 个类别即 包含扫描线段数目最多的 3 个类别 其余的视为误判得到的扫描线段在位置探测图形以外的位置得到的符合扫描特征的扫描线段 直接舍去。距离邻域法结束后得到的分好 3 个类别的扫描线段就分别对应了 3 个位置探测图形。距离邻域法的关键就是距离阈值的选取。 一般对于不同大小的 QR 码图像 要使用不同的距离阈值。 1 在 X 方向的扫描线段中找出最外侧的两条 分别取中点 记为 A、 B。 由 A、 B两点连一条直线。 2 在 Y 方向的扫描线段中找出最外侧的两条 分别取中点 记为 C、 D。 由 C、 D两点连一条直线。 3 计算直线 AB 与直线 CD 的交点 O 即为位置探测图形中心点。 将 QR 码符号的左上、 右上位置探测图形的中心分别记为 A、 B。 连接 A、 B。 直线 AB 与水平线的夹角α 即为 QR 码符号的旋转角度。 对于该旋转角度α 求出其正弦值 sinα 与余弦值 cosα 即可。 具体计算公式如下 位置探测图形边长的计算是基于无旋转图像的 在无旋转图像中 水平扫描线段的长度即为位置探测图形的边长。 水平扫描线段 AB 的长度即为位置探测图形的边长 X。 对于经过旋转的 QR 码图像 先通过插值算法生成旋正的 QR 码图像 然后按照如上所述的方法进 4 深度学习二维码识别 基于 CNN 的二维码检测网络结构如下 4.1 部分关键代码 篇幅有限学长在这只给出部分关键代码 首先定义一个 AlgoQrCode.h ​ #pragma once #include #include using namespace cv; using namespace std;class AlgoQRCode { private:Ptrwechat_qrcode::WeChatQRCode detector;public:bool initModel(string modelPath);string detectQRCode(string strPath);bool compression(string inputFileName, string outputFileName, int quality);void release(); };​ 该头文件定义了一些方法包含了加载模型、识别二维码、释放资源等方法以及一个 detector 对象用于识别二维码。 然后编写对应的源文件 AlgoQrCode.cpp ​ bool AlgoQRCode::initModel(string modelPath) {string detect_prototxt modelPath detect.prototxt;string detect_caffe_model modelPath detect.caffemodel;string sr_prototxt modelPath sr.prototxt;string sr_caffe_model modelPath sr.caffemodel;try{detector makePtrwechat_qrcode::WeChatQRCode(detect_prototxt, detect_caffe_model, sr_prototxt, sr_caffe_model);}catch (const std::exception e){cout e.what() endl;return false;}return true; }string AlgoQRCode::detectQRCode(string strPath) {if (detector NULL) {return -1;}vectorMat vPoints;vectorcv::String vStrDecoded;Mat imgInput imread(strPath, IMREAD_GRAYSCALE); // vStrDecoded detector-detectAndDecode(imgInput, vPoints);.... }bool AlgoQRCode::compression(string inputFileName, string outputFileName, int quality) {Mat srcImage imread(inputFileName);if (srcImage.data ! NULL){vectorintcompression_params;compression_params.push_back(IMWRITE_JPEG_QUALITY);compression_params.push_back(quality); //图像压缩参数该参数取值范围为0-100数值越高图像质量越高bool bRet imwrite(outputFileName, srcImage, compression_params);return bRet;}return false; }void AlgoQRCode::release() {detector NULL; }​ 5 测试结果 学长这里放到树莓派中调用外部摄像头进行识别可以看到效果还是非常不错的 6 最后 更多资料, 项目分享 https://gitee.com/dancheng-senior/postgraduate

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/92035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

四川外国语大学网站建设系wordpress 3.5 官方中文版

前言C# 对类型系统进行改进一直都没有停过,这是一个长期的过程。C# 8 之后则主要围绕扩展性方面进行各种改进,目前即将发布的 C# 11 中自然也包含该方面的进度。这些改进当然还没有做完,本文则介绍一下已经推出和即将推出的关于这方面改进的新…

重点学科网站建设dw怎么做秋季运动会网站

题意: 一颗n个点的树,问其中两点之间的边上数的和加起来是3的倍数的点对有多少个? 输出这样的点对所占比例 题解: 树形dp求解 因为是求长度为3的倍数,模3的结果只有0/1/2,我们可以单独考虑作为一维。 设…

网站建设管理标准重庆招聘网站哪个好

1、MySQL卸载: (通过yum命令卸载之前安装的mysql, find命令找到mysql文件,再用rm –rf 强制删除/var/lib/mysql) 2、MySQL安装: (使用yum命令安装mysql,安装完成后启动数据库&#x…

免费建立网站教程海纳企业网站建设

题目: 如果一个字符串str,把字符串str前面任意的部分挪到后面形成的字符串叫做str的旋转词。比如str="12345",str的旋转词有"12345"、"23451"、"34512"、"45123"、和"51234"。给定两个字符串a和b,请判断a和b…

突唯阿 领先的响应式网站建设平台东莞专业做淘宝网站建设

目录项目结构国际化curd操作404页面拦截器地址: https://github.com/sevenyoungairye/spring-boot-study员工管理员系统,页面用html thymeleaf模板数据库用的是map集合,没用真实的数据库项目结构 国际化 默认中文 中文,英文切换…

杭州哪家做网站程序员接单网站

647. 回文子串 动态规划解决的经典题目,如果没接触过的话,别硬想 直接看题解。 代码随想录 516.最长回文子序列 647. 回文子串,求的是回文子串,而本题要求的是回文子序列, 大家要搞清楚两者之间的区别。 代码随想…

福海网站制作嘉定个人网站建设

观察者模式&#xff1a; 书中通过小菜描述同事在公司看股票行情&#xff0c;并请求前台帮忙在老板回来时提醒同事&#xff0c;引出需求。将前台通知同事老板回来的事写成程序。未用模式实现&#xff1a; 1 //前台类2 public class Secretary {3 private List<StockObser…

网页模板免费下载网站蚌埠高端网站建设

System.Data虽然不引人关注&#xff0c;但在.NET中&#xff0c;System.Data对于各种关系数据库的连接是非常重要的。System.Data也被称为ADO.NET&#xff0c;其前身是ActiveX Data Objects。System.Data提供了通过的框架&#xff0c;在她的基础上.NET数据驱动应用可以被构建。这…

网站弹屏广告怎么做潍坊高级网站建设推广

假设工程根目录为 d:/Project/ 然后在 d:/Project/a/b/c/d/file.py 里使用 os.getcwd() 方法获取的是 d:/Project/a/b/c/d 现在我想获取 d:/Project 怎么做? ------------------------------------分割线--------------------------------- 谢谢大家的热情回答,都怪我没有将问…

网站开发需要有登陆界面的网站微信群二维码大全网站

2019.12.31 天气&#xff1a;晴 地点&#xff1a;杭州 今天是2019年的最后一天&#xff0c;就用这篇博客来记录一下这一年的历程吧。 时间很快&#xff0c;它从指缝中悄悄划过的时候&#xff0c;我们好似毫无感觉&#xff0c;突然又一年就过去了&#xff0c;大学四年的生活也随…

广西网站建设推荐哪些网站国内打不开

datePicker日期控件是很常用的控件&#xff0c;可以使用 start &#xff0c; depth来控制取值的范围。 start &#xff0c;depth可以选择的参数有month&#xff0c;year&#xff0c;decade &#xff0c;century 。 如何要只选择年&#xff1a;我们要用参数 decade &#xff0c;…

外贸营销型网站建设平台网站做视频流量赚钱吗

1 你为什么不喜欢拍照片&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 当登记处挂起横幅▼3 这几天老是犯的错误▼4 在图书馆收获的爱情&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼5 当老师用键盘讲课&#xff08;素材来源网络&#xff0c;侵删&a…

网站首页轮播图片浙江理工大学网站设计与建设

1. 如果要判断数组中是否存在某个元素的话很好判断&#xff0c;直接用数组的indexOf方法就好&#xff0c;存在返回当前索引不存在返回-1 var arr[1,2,3,4] arr.indexOf(3) // 2 arr.indexOf(5) // -1 2. 要只是判断的话是可以遍历后判断对象的属性是否相同的&#xff0c;像这种…

公司建网站多少钱一年关于二手书的网站开发ppt

结构Hive 是建立在hadoop上的数据仓库架构,它提供了一系列的工具,可以进行数据提取转换加载(这个过程叫做ETL),这是一种可以存储,查询和分析存储在hadoop中的大规模数据的机制.Hive定义了简单的类SQL查询语句 成为hql,他允许数据SQL的用户查询数据.同时 这个语言也允许数据mapr…

网站推广哪个好温州seo网站推广

​最近一直在做AI大模型上车的战略企划工作&#xff0c;听了好多供应商的宣讲&#xff0c;自己也查阅了大量书籍、资料。信息输入呈现爆炸性增长&#xff0c;受限于专业知识水平&#xff0c;仅能在应用层面上有所思考。纯个人观点&#xff0c;仅供参考。 车自古以来都是移动工…

网站投注员怎么做苏州建设交通

一、定义和结构 作用&#xff1a;捕获同步执行代码下的异常错误 在没有使用try...catch的情况下&#xff0c;同步代码执行遇到异常会报错&#xff0c;并中断后续代码执行&#xff1b; 在使用try...catch的情况下&#xff0c;同步代码执行遇到异常会抛出异常&#xff0c;并继续…

做网站全体教程小程序代理与加盟

int[] a new int[10];int[] a new int[]{元素1&#xff0c;元素2};int[] a {元素1&#xff0c;元素2};

建设银行网站修改密码哪些网站可以做商家

近期&#xff0c;受邀担任两个国际学术会议的Special session共同主席及程序委员会成员&#xff08;TPC member&#xff09;&#xff0c;欢迎广大学界同行踊跃投稿&#xff0c;分享最新研究成果。期待这个夏天能够在夏威夷檀香山或者加利福尼亚圣荷西与各位学者深入交流。 SERA…

网站搬家后出错免费网站可以做cpa

一 Process对象的join方法 在主进程运行过程中&#xff0c;如果想并发地执行其它的任务&#xff0c;我们可以开启子进程&#xff0c;此时主进程的任务与子进程的任务分两种情况&#xff1a; 情况一&#xff1a;在主进程的任务与子进程的任务彼此独立的情况下&#xff0c;主进程…

网站开发技术发展历程wordpress导入网站

假设我们有一个称为nums和另一个数字k的不同数字的列表&#xff0c;我们必须找到总计为k的不同组合的数量。您可以在创建组合时重复使用数字。因此&#xff0c;如果输入像nums [2&#xff0c;4&#xff0c;5] k 4&#xff0c;那么输出将是2&#xff0c;因为我们可以将两个这样…