条形码

此项目是EAN13条形码识别的译码技术,在基于机器视觉技术上,构建了一套条形码在线检测识别系统,系统将由以下几个部分构成:条形码图像定位与采集、计算机图像预处理、条形码图像中值滤波去噪、条码解析与识读。经过实验,确定该系统可对绝大部分EAN13条形码进行快速并准确的识读。 。。。。。想了解详情请下载附件

应用介绍

此项目是EAN13条形码识别的译码技术,在基于机器视觉技术上,构建了一套条形码在线检测识别系统,系统将由以下几个部分构成:条形码图像定位与采集、计算机图像预处理、条形码图像中值滤波去噪、条码解析与识读。经过实验,确定该系统可对绝大部分EAN13条形码进行快速并准确的识读。

//条形码解析

#include "analyzer.h"

#include <qDebug>

#include <vector>

static char A[]={0x0D,0x19,0x13,0x3D,0x23,0x31,0x2F,0x3B,0x37,0x0B};//条码解析表

static char B[]={0x27,0x33,0x1B,0x21,0x1D,0x39,0x05,0x11,0x09,0x17};

static char R[]={0x72,0x66,0x6C,0x42,0x5C,0x4E,0x50,0x44,0x48,0x74};

static int ORDER[10][13]={1,1,1,1,1,1,-1,2,2,2,2,2,2,

                          1,1,0,1,0,0,-1,2,2,2,2,2,2,

                          1,1,0,0,1,0,-1,2,2,2,2,2,2,

                          1,1,0,0,0,1,-1,2,2,2,2,2,2,

                          1,0,1,1,0,0,-1,2,2,2,2,2,2,

                          1,0,0,1,1,0,-1,2,2,2,2,2,2,

                          1,0,0,0,1,1,-1,2,2,2,2,2,2,

                          1,0,1,0,1,0,-1,2,2,2,2,2,2,

                          1,0,1,0,0,1,-1,2,2,2,2,2,2,

                          1,0,0,1,0,1,-1,2,2,2,2,2,2,

                         };//EAN-13条码的奇偶次序(1表示奇次序0表示偶次序)

Analyzer::Analyzer()

{

   // ImgtoNum();

    startFlag=0;

}

bool Analyzer::ImgtoNum(int pnum)

{

    Mat Img_gray;

    cvtColor(rawImg,Img_gray,COLOR_BGR2GRAY,1);

    for(int k=70;k<150;k+=20){

        Mat Img_2zhi;

        threshold(Img_gray,Img_2zhi,k,255,THRESH_BINARY);

        int high,width;

        width=Img_2zhi.cols;

        high=Img_2zhi.rows;

        int startPos;

        startPos=1;

        QString res;

        int result[12];

        std::vector<classis> blackBar;

        std::vector<classis> whiteBar;

        //对整幅图逐行检测

        while(startPos<high){

            res="";

            getSize(startPos,width,Img_2zhi,&blackBar,&whiteBar);//获取黑白条纹的位置和宽度

            cacuDig(blackBar,whiteBar,result,pnum);//解析成数字

            if(checkOut(result,pnum)){//校验

                for(int i=0;i<12;i++){

                    res+=QString::number(result[i],10);

                }

                emit successGet(QString::number(pnum)+res);

                return true;

            }

            startPos+=2;

        }

    }

    return false;

}

。。。。。。想了解详情请下载附件

文件列表(部分)

名称 大小 修改日期
4-4-tiaoxingma.pro0.75 KB2020-08-06
4-4-tiaoxingma.pro.user2.14 KB2020-03-17
4-4-tiaoxingma.pro.user.44a95be2.10 KB2020-03-17
analyzer.cpp1.79 KB2020-03-17
analyzer.h0.47 KB2020-03-17
dialog.cpp1.09 KB2020-03-17
dialog.h0.90 KB2020-03-17
main.cpp0.13 KB2020-03-17
posmatch.cpp0.57 KB2020-03-17
posmatch.h0.48 KB2020-03-17
videoio.cpp0.33 KB2020-03-17
videoio.h0.37 KB2020-03-17
videostream.cpp0.52 KB2020-03-17
videostream.h0.33 KB2020-03-17
条形码验证.exe17.00 KB2020-03-17
tiaoxingma0.00 KB2020-08-06

立即下载

相关下载

[使用 Arduino 和 MATLAB 的 Rubik Cube 求解器] 此仿真模型是使用 Arduino 和 MATLAB 的 Rubik Cube 求解器。 使用图像处理和 Arduino 控制的伺服电机解决魔方。
[读取 RAW 相机图像] 此文档是读取 RAW 相机图像。 使用 DCRAW 或 LibRAW 从 Matlab 中读取 RAW 相机图像。
[条形码] 此项目是EAN13条形码识别的译码技术,在基于机器视觉技术上,构建了一套条形码在线检测识别系统,系统将由以下几个部分构成:条形码图像定位与采集、计算机图像预处理、条形码图像中值滤波去噪、条码解析与识读。经过实验,确定该系统可对绝大部分EAN13条形码进行快速并准确的识读。 。。。。。想了解详情请下载附件
[机器视觉] # 计算两个128D向量间的欧式距离 def return_euclidean_distance(feature_1, feature_2): feature_1 = np.array(feature_1) feature_2 = np.array(feature_2) dist = np.sqrt(np.sum(np.square(feature_1 - feature_2))) return dist
[基于机器视觉的害虫种类及数量检测] 基于机器视觉的害虫种类及数量检测,数目检测和昆虫种类识别 摄像头Frame中检测虫体数目,并在界面中显示标出,学习昆虫图像特征的提取,参考论文中提出的几个特征量,提取特征量并进行保存, 按照神经网络方法搭建训练模型 ,搭建了线性SVM分类训练器,将特征提取和UI界面建立连接,实现拍照和预测判断一体 机器学习训练算法
[使用Verilog HDL在FPGA上进行图像处理] 此项目是使用Verilog HDL在FPGA上进行图像处理。该FPGA项目旨在详细显示如何使用Verilog处理图像,方法是在Verilog中读取输入位图图像(.bmp),在Verilog中处理并将处理后的结果写入输出位图图像。 提供了用于读取图像,图像处理和写入图像的完整Verilog代码。如想了解详情请下载附件。

评论列表 共有 0 条评论

暂无评论

微信捐赠

微信扫一扫体验

立即
上传
发表
评论
返回
顶部