一维条码解码

2023-11-06

一维条码是一种能用于信息编码和信息自动识别的标准符号,是由一组宽度不同的黑白符号按一定规则交替排列编码组成的图形符号可用于表示一定的信息。

它是对物品进行代号标识需要依赖数据库或通讯网络才能发挥最大的作用。常见的码制(条码符号类型)有EAN-13码,EAN-8码,UPC码,交叉25码。

EAN-13解码:

EAN-13码结构


解码流程:

一维条码解码matlab代码

function [code]=one_dimensional_codeself(img)
%% 图片的读取
f=imread(img);% read figure
g=rgb2gray(f);  %turn to gray figure
figure(1);
imshow(g);title('原图像');
[M,N]=size(g);
%% 图片的处理
T=graythresh(g)*255; %get threshold
g= Thresholding(g,T); %二值化
%% 噪声过滤
g=medfilt2(g); %filter
figure(2);
imshow(g);title('滤波后的图像');
im_edge=edge(g,'canny'); %边缘检测
figure(3);
imshow(im_edge);title('边缘检测后的图像');
A=line_detection(im_edge);
g=~g; %黑白像素翻转
%% 图片旋转
g=imrotate(g,A*180/pi,'nearest'); %旋转图像
g=~g;
figure(4)
imshow(g);title('旋转后的图像1');
is=is_upsize(g);       %判读是否是正向水平
if is==1
    g=imrotate(g,180,'nearest');
end
figure(5)
imshow(g);title('旋转后的图像2');
bar_width=bar_width_F(g);%获取条空的宽度
decode=dedecode_f(bar_width);%条空换做0,1表示
%% 一维码破解
if check_1(decode)
    code=decode_f(decode);
end

Thresholding.m

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一维条码解码 的相关文章

随机推荐

  • 【Java-IO】如何理解 Java 中的 IO 流?

    文章目录 1 概述 2 流的分类 1 输入流和输出流 2 字节流和字符流 3 节点流和处理流 1 概述 Java 的 IO 流是使用 Java 语言实现输入 输出的基础 可以通过调用 java io 包内的 API 很方便的实现数据的输入
  • 哈希表(限定版)

    目录 今日良言 既然没有女朋友 那就安心敲代码 一 效果展示 1 添加员工 2 显示员工 3 查找员工 4 删除员工 二 实现思路 1 总体思路分析 2 针对员工相关操作分析 三 完整代码 今日良言 既然没有女朋友 那就安心敲代码 七夕没情
  • java中String初始化的两种方式(图解)

    java中创建并初始化一个String对象 最常见的方式有两种 String str new String XXX String str XXX 前者是每一次new一个新对象 都会从堆内存中重新生成一个新的对象 后者则会在栈中创建一个对象引
  • Unity3D关于两个物体直接用圆柱进行连接画线(简单画线连接)

    最近做的东西需要用圆柱画线 网上找了些 没找到合适的 所以自己简单写了一个 这个函数只需要输入起始点和终点即可 材质可以自己调整 void DrawLS GameObject startP GameObject finalP Vector3
  • 从功能测试转型测试开发,薪资涨了20K,1000字讲述转型必经之路...

    身处职场之中 犹如逆水行舟不进则退 想要不被后浪拍死在沙滩上 就要不断学习新知识 接受新事物 要得到更好的发展 就要紧跟发展趋势 不断转型才能保持竞争力 在职场中占有一席之地 转型不是一件容易的事 涉及到转型 革新 就要突破现有的框架 必然
  • dreamweaver 正则表达式为属性值加上双引号_IT兄弟连 HTML5教程 HTML5表单 新增的表单属性3...

    9 novalidate novalidate是属性规定在提交表单时不应该验证form和input域 novalidate属性适用于的类型有 text search url telephone email password date pic
  • webService淘汰了吗?

    当代开发者们已经很少见到相关的webService开发了 那么是该技术已经被淘汰了吗 先让我们来看看其和http接口的优劣吧 这里着重说webService 该服务协议为SOAP 简单对象访问协议 说白了就是http POST的一个专用版本
  • DVWA-命令注入

    命令注入漏洞的函数 system exec passthru shell exec 与shell exec 功能相同 一 low 1 分析源码 使用的函数是shell exec 2 验证 3 漏洞测试 前面命令的输出结果作为后面命令的输入
  • 随机森林和神经网络有什么区别?

    随机森林和神经网络这两种广泛使用的机器学习算法有什么区别呢 我们什么时候应该使用神经网络 什么时候又应该使用随机森林 随机森林与神经网络哪个更好 这是一个常见问题 答案其实也非常简单 视情况而定 调皮 一起来看看何时使用随机森林好以及何时使
  • Golang大坑之循环goroutine闭包调用

    前言 回顾整个2022 突然发现我一篇博客都没写 趁着还没2022还没过去 赶紧水一篇博客 分享一下我最近学习到的一些东西 这次的主题是 Golang大坑之循环goroutine闭包调用 大家就当小故事来看吧 小美又写了bug 仔细看 这个
  • jmeter-Java关于MD5加密方法 以及16位32位互转

    MD5即Message Digest Algorithm 5 信息 摘要算法5 用于确保信息传输完整一致 是计算机广泛使用的杂凑算法之一 又译摘要算法 哈希算法 主流编程语言普遍已有MD5实现 将数据 如汉字 运算为另一固定长度值 是杂凑算
  • GDB调试进程方法

    简单易懂的gdb调试进程方法 更新中 1 首先找出需要调试的进程PID 命令 ps ef grep 进程名 2 gdb attach PID 中断进程 并附着进程 接下来就可以调试了 3 设置断点 break 函数名 文件名 行号 比如 b
  • 基于元学习孪生网络的人脸识别算法(PC复现篇)

    一 说明 本文参考 Python元学习 通用人工智能的实现 第二章部分内容 修改代码使其在通用环境下跑通 本文为实际项目的前期学习汇报 后续项目也许会出现在博客或者我的b站账户上 物理系的计算机选手 原版完整代码 动手 元学习 使用 Pyt
  • python 水仙花数

    水仙花数 水仙花数是指 一个三位数各位数字的立方和等于该数本身 解析 使用多重循环来解 水仙花数的百位可能的数字为1 9 十位和个位可能的数字是0 9 用三重循环来遍历所有可能的数字组合 for bai in range 1 10 for
  • 电赛备战心酸历程!!!

    辛辛苦苦备战电赛两个月 然后电赛延期了
  • 时间序列-预测(Forcasting):时间序列预测算法总结

    一 背景介绍 绝大部分行业场景 尤其是互联网 量化行业 每天都会产生大量的数据 金融领域股票价格随时间的走势 电商行业每日的销售额 旅游行业随着节假日周期变化的机票酒店价格等 我们称这种不同时间收到的 描述一个或多种特征随着时间发生变化的数
  • 主题:java并发编程-Executor框架

    http www iteye com topic 366591
  • 【Opencv读取中文路径图像】

    Opencv读取中文路径图像 if img0 None uipath unicode path utf8 img data np fromfile path np uint8 img0 cv2 imdecode img data 1
  • Python~OS模块--将文件保存到指定路径

    需求 写爬虫时 想将爬取下来的文件保存到指定的路径 环境 Python3 7 注意 windows下 用于区分系统路径 在python里面是转义符 os listdir 返回指定目录下的所有目录和文件名 os mkdir 创建指定路径下目录
  • 一维条码解码

    一维条码是一种能用于信息编码和信息自动识别的标准符号 是由一组宽度不同的黑白符号按一定规则交替排列编码组成的图形符号可用于表示一定的信息 它是对物品进行代号标识需要依赖数据库或通讯网络才能发挥最大的作用 常见的码制 条码符号类型 有EAN