zoukankan      html  css  js  c++  java
  • 图像处理项目——基于机器视觉技术的条形码在线识别系统设计

    基于机器视觉技术的条形码在线识别系统设计

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

    关键词: 机器视觉; 图像处理; 条码识别;在线检测;EAN13条形码;QT

    一:设计目标 

    1. 掌握条形码识别原理;
    2. 熟悉条形码识别的概念,发展现状;
    3. 熟悉机器视觉系统设计的一般流程;
    4. 掌握常用图像处理技术;

     设计内容与要求

    1.完成基于机器视觉技术的条形码在线识别系统算法设计;

    2.完成基于机器视觉技术的条形码在线识别系统上位机设计;

    3.EAN13条形码识别误差率≤2%;

    二:qt程序

     三:条形码定位算法

    #include <opencv2/opencv.hpp>
    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include<iostream>
    #include<stdlib.h>
    using namespace cv;
    using namespace std;
    int main()
    {
        Mat Img,grayImg,gradx,blurgradx,gradAbsx,threshImg,close_threshImg,erode_threshImg,dilate_threshImg;
        Img=imread("E:\txm1.jpg");
        imshow("0原图",Img);            
        cvtColor(Img,grayImg,COLOR_BGR2GRAY);
        imshow("1灰度图",grayImg);
        Scharr(grayImg,gradx,CV_16S,1,0);
        imshow("2边缘检测图",gradx);
        convertScaleAbs(gradx,gradAbsx);
        imshow("3Abs图",gradAbsx);
        blur(gradAbsx,blurgradx,Size(5,5));
        imshow("4滤波图",blurgradx);
        threshold(blurgradx,threshImg,150,255,CV_8UC1);
        imshow("4.5阈值分割图",threshImg);
        Mat kernal=getStructuringElement(MORPH_RECT,Size(25,5));
        morphologyEx(threshImg,close_threshImg,MORPH_CLOSE,kernal);
        imshow("5闭操作",close_threshImg);
        Mat edkl=getStructuringElement(MORPH_RECT,Size(3,3));
        erode(close_threshImg,erode_threshImg,edkl,Point(-1,-1),8);
        imshow("6腐蚀操作",erode_threshImg);
        dilate(erode_threshImg,dilate_threshImg,edkl,Point(-1,-1),15);
        imshow("7膨胀操作",dilate_threshImg);
        waitKey(0);
        return 0;
    
    }

    四:程序运行及条形码识别测试

     详细代码:https://github.com/hhhvvvddd/Bar-Code-Recognition-System

    定位算法:https://www.cnblogs.com/fpzs/p/9637795.html

    ——————

    浅谈则止,深入理解AI大道理

    扫描下方“AI大道理”,选择“关注”公众号

                  欢迎加入!

    萍水相逢逢萍水,浮萍之水水浮萍!
  • 相关阅读:
    SQLite 的连接串
    输入数组长度大于此表中的列数
    MVC3.0入门学习笔记页面传值ViewData
    MVC3.0入门学习笔记页面传值TempData
    在控制台程序中显示进度
    WCF学习笔记(1) 一个简单的wcf实例
    webBrowser 操作无ID元素
    webBrowser 设置文本框
    cookie总结
    checkbox是否被选择
  • 原文地址:https://www.cnblogs.com/AIBigTruth/p/10513497.html
Copyright © 2011-2022 走看看