精华内容
下载资源
问答
  • 一维二维通用条码扫描器是本站发布的第一个条码扫描项目,条码扫描器在您的手机上使用摄像头读取条形码,查询产品的信息,如价格和评论。此外,还可以读取QR吗和Data Matrix二维条码。传统的条形码,如产品包装上...
  • Android_条码扫描器_一维条形码_二维QR码_apk_源码
  • adnroid一维二维通用条码扫描器源码.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • Android一维二维通用条码扫描器
  • 一维二维通用条码扫描器是本站发布的第一个条码扫描项目,条码扫描器在您的手机上使用摄像头读取条形码,查询产品的信息,如价格和评论。此外,还可以读取QR吗和Data Matrix二维条码。传统的条形码,如产品包装上...
  • adnroid 一维二维通用条码扫描器源码,实用的技术源码学习
  • ·条形码扫描枪 ·无线数据采集 ·条码数据采集 ·RFID电子标签 ·RFID读写 ·RFID手持机 ·网络无线产品 ·碳带 ·色带 ·贴纸 ·条码打印纸 ·透明膜 ·吊牌 ·其它耗材 条码及RFID综合解决方案提供,...
  • 系统框图  系统以DSP56F826芯片为... 二维条码扫描器系统框图如图(1)所示。CMOS图像传感芯片为光电转换元件,用与采集二维条码图像,直接输出为数字信号。由外部扩展SRAM存储该数据,再送到DSP,进行图像处理、码字
  • 我本身不是做这个的,平时都是做数据库方面...2:或者说不在游览上,直接用一个app实现调用摄像头实现扫描读取一维条码的 功能 还有一个困惑就是摄像头实现扫描一维条码读取数据难不难?有没有现成的方案 可以借鉴?!
  • 系统框图  系统以DSP56F826芯片为核心... 二维条码扫描器系统框图如图(1)所示。CMOS图像传感芯片为光电转换元件,用与采集二维条码图像,直接输出为数字信号。由外部扩展SRAM存储该数据,再送到DSP,进行图像处理、
  • 搞定一维条码扫描

    2010-03-26 15:06:00
    首先,需要在页面上打印出条形码。关于条形码的知识,你有多少呢?常用的两种编码方式是39码和128码。如果没有特别要求,最简单的方法,...直接把光标定在个文本框里,然后用扫描枪对准条形码,红光划过处,条码

        首先,需要在页面上打印出条形码。关于条形码的知识,你有多少呢?常用的两种编码方式是39码和128码。如果没有特别要求,最简单的方法,就是使用39码。用普通的打印机和打印纸就可以满足要求。如果你想防水防腐蚀,你就需要购买专门的打印机和打印纸了。
        然后我们用的是symbol的扫描枪,可以识别多种国际/国家标准的条形码。直接把光标定在一个文本框里,然后用扫描枪对准条形码,红光划过处,条码的内容全部进入了文本框内。是 不是很神奇呢?
        可以监测的文本框事件也很多。一般的客户端事件都可以监测,比如keyDown,keyUp,propertychange等等。为文本框添加了这些监听事件,你就可以随意处理了。

    我用的是39码,.net 2.0 C#开发的管理软件。现在已经成功运行起来了。

    展开全文
  • hhp it4600条码扫描器 技术参数: 光源:650nm红光 瞄准线: 绿色LED 图像类型: VGA、752*480像素、Binary、TIFF或JPEG输出 阅读距离:IT4600gSR:(8.3mil一维码:8.9cm-19.1cm),(13milUPC:5.1cm-33.3cm),(6.6milPDF...
  • PC端二维条码扫描软件-QuickMark

    热门讨论 2009-12-17 21:00:17
    PC端二维码查看软件,摄像头可以扫描到相应的二维条码,包括一维条码.
  • wince手持机条码扫描,c#直接引用dll即可,附使用代码,本人使用的手持机型号为摩托罗拉mc2180,代码已封装,使用简单,该dll摩托其他系列通用,现项目已开发完毕,使用稳定。
  • 一维条形码的识别就成为了必要,现在超市及其他场所大部分都是利用光电识读,利用条形码样条不同的反光率来识别,采用线性扫描,只能读取条形码局部信息,以致识别容易受条形码上的灰尘、水汽或样条断裂影响,...

    一维条形码现在广泛用于超市、图书馆、学校等,几乎在生活的各个领域和行业都直接或间接的用到了一维条形码(本文是指EAN13)。对一维条形码的识别就成为了必要,现在超市及其他场所大部分都是利用光电识读器,利用条形码样条不同的反光率来识别,采用线性扫描,只能读取条形码局部信息,以致识别容易受条形码上的灰尘、水汽或样条断裂影响,造成识别率降低。
    本文介绍一种利用图像处理的方法来识别一维条形码,为了读取的方便,本文的图像直接是从电脑摄像头中采集的,省去了储存图像后再读取图像的过程,使识别更加快速。
    MATLAB程序包括两部分,一、调用函数,包括图像的预处理和数据的识别;二、主程序。

    1、调用函数
    获取主程序传递的图像数据,然后对图像预处理,预处理包括灰度处理和几何校正,其中的灰度处理的过程是:灰度化——>中值滤波——>二值化。灰度化用到的函数是rgb2gray();中值滤波函数medfilt2();二值化函数im2bw(),处理过程中图像如fig 1-1。
    在这里插入图片描述

    fig 1-1
    fig 1-1中的第一幅图(从左到右)是原图、第二幅图是灰度化后的图、第三幅图是中值滤波后的图、第四幅图是二值化后的图。
    从fig 1-1中明显能看出图像中的条形码不是正摆的,需要进行几何校正。几何校正的过程:设置采样点(程序设了五个)——>采集条形码的黑色条码坐标——>通过采样点的坐标差异来决定几何校正的角度。几何校正函数imrotate()。处理后的图如fig 1-2。
    在这里插入图片描述

    fig 1-2
    但有时候考虑到计算速度问题,几何校正可以被省去,因为本文是利用电脑摄像头来采集图像的,可以通过观察视频来人工摆正。
    当图像预处理完成后,则进行图像条形码的识别阶段。处理过程主要是利用五个采样点采集的数据。五个采样点都要图像采集一遍,按行采集。采集完后,程序将提取样条数据,在每一次提取中程序都会去掉五个采集点中最小数据和最大数据,然后对剩下的三个的数据进行后期处理。程序先判断采集点是否采集到59个样条(一维条形码除去左、右侧空白区,共有95个模块,本文涉及的59样条是指黑白样条个数,而一维条形码中的95个模块是指每个黑白条占得标准模块个数相加的和),是59则继续读数据处理,不是则调用函数退回等待主程序再次传递图像。当为59个样条时,就对提取获得的数据求平均值,然后储存到一个矩阵中。获得的数据平均值显示如fig 1-3。
    在这里插入图片描述

    fig 1-3
    fig 1-3 上图值为1的是条形码中黑色样条含有像素个数,值为0的是条形码中白色样条含有像素个数。下图是把上图读取的黑白样条像素个数的一维图像显示。
    最后根据一维条形码的编码规则编写出解码算法。把获得的矩阵带入解码算法中,通过对比校准,最终得到人能识别的阿拉伯数字码。
    由于篇幅限制这里就不把程序代码写入。

    2、主程序
    获取电脑摄像头的视频数据,连续采集视频图像数据,把图像数据传递给调用函数,最后把识别的阿拉伯数字码显示到MATLAB显示区上。主程序的代码较短,代码如下:

    %读取电脑摄像头视频
    info=imaqhwinfo;
    win_info=imaqhwinfo(char(info.InstalledAdaptors(2)));
    dev_win_info=win_info.DeviceInfo;
    obj = videoinput(char(info.InstalledAdaptors(2)),dev_win_info.DeviceID,char(dev_win_info.SupportedFormats(5)));
    preview(obj);%显示视频,视频的分辨率是640x480,如果比这个分辨率小就可能读不出识别码
    %传递图像给调用函数
    start(obj);
    a=getsnapshot (obj);%获取视频中的图像信息
    flag1=‘y’;
    while flag1==‘y’||flag1==‘Y’
    flag=0;
    while flag==0
    a=ycbcr2rgb(getsnapshot (obj));%把ycbcr格式图像信息转换为rgb格式图像
    flushdata(obj);%刷新obj中的数据
    flag=ginny(a);
    drawnow;%刷新事件
    end;
    flag1=input('Do you want agian? Y/N : ', ‘s’);
    end
    delete(obj);

    3、结果与总结
    识别的结果如fig 1-4,图为MATLAB GUI 界面。

    在这里插入图片描述

    展开全文
  • 条码检测系统——基于MATLAB的一维条码识别摘 要:条码技术是如今应用最广泛的识别和输入技术之一,由于其包含的信息量大,识别错误率低而在各个方面得到很大的重视。它发展迅速并被广泛应用于于工业、商业、图书...

    条码检测系统——基于MATLAB的一维条码识别

    摘 要:条码技术是如今应用最广泛的识别和输入技术之一,由于其包含的信息量大,识别错误率低而在各个方面得到很大的重视。它发展迅速并被广泛应用于于工业、商业、图书出版、医疗卫生等各行各业。由我国目前发展现状来看,条码的正常使用受到条形码印刷质量和商品运输过程的影响,并且传统的条码识读方式是采用光电识读器,条码图像对光的不同反射效果也必然会对条码的识读产生影响,而一般条码在搬运过程中条码会不可避免的破损,所以对质量较差的条码的条码的识别尤为重要。

    不同的条码有着不同的识读过程。本设计研究一种基于图像处理方式的识读方法,通过计算机辨识来解决条码印刷质量不佳和条码变形等问题。该方法是采用摄像头采集条码图像,通过照相采集条码图像的方法避免了线性扫描器逐行扫描所产生的问题,同时简化了扫描条码图像的操作。然后通过一定的数字图像处理算法处理进行译码。译码算法主要分为两部分:第一部分首先对采集的条码图像进行预处理,图像的预处理包括图像分割,图像滤波等,良好的图像处理将对后面实现正确译码有重大贡献;第二部分就是对预处理后的条码图像进行译码,我们根据相似边距离来判别条码字符,再通过译码、校验、纠错处理来识读条码,得到条码所表示的文本信息。与用条码识读器硬件进行译码相比,软件译码具有更大的灵活性和较低的成本,所以具有很大的市场空间。借助于matlab软件的功能我们完成这次译码工作。

    关键词:图像处理 图像分割 条形码识别 EAN-13 相似边距识别 图像滤波Matlab

    The System Of Bar-Code Examination

    —— 1D Bar-Code recognition based on MATLAB

    Abstract: Nowadays Bar-Code is a very popular technique ofidentification and input. It has been taken serious because of it’s large information and low error rate. It develops very quickly and has already been applied in industry,忽略merce,publishing,medical sanitation and so on. It can be seen from the actualities in our country that the use of Bar-Code is influenced by the printing quality and goods transportation, and besides, the traditional mode of recognition is using optical scanner so that the recognitinon will be consequentially affected by the different reflection of code image by the light. The general course of the removal barcode bar code will inevitably damage, so poor quality bar code bar code identification is particularly important.

    Different Bar-Code has different recognition process. This paper researches into a method based on digital image processing mode to resolve the problems of poor printing quality and code distortion, which uses the vidicon to take pictures of code images so as to avoid the traditional questions brought by the line-by-line scanning. And then applies the digital image processing algorithms to recognize the code, which includes two steps: the first is image

    展开全文
  • 如何自制条形码扫描器

    千次阅读 2017-01-18 15:08:18
    如名称所示,主要达到的功能就是实现给定条形码就能扫描出来并通过串口与电脑相联系,在电脑上显示条形码扫描器扫描出来的结果。和超市里面用的是不一样的,没那么高级.条形码简介 1、1974年6月26日,在俄州特洛伊...

    在文章之前要先感谢我的老师黄小平先生,在制作这个扫描器期间,给了我们很大的帮助和指导.
    先说下这个条形码扫描器的预期功能:
    如名称所示,主要达到的功能就是实现给定一个条形码就能扫描出来并通过串口与电脑相联系,在电脑上显示条形码扫描器扫描出来的结果。和超市里面用的是不一样的,没那么高级.

    条形码简介

    • 1、1974年6月26日,在俄州特洛伊市马什超级市场,一位收银员将10 包黄箭口香糖放在条形码扫描器中扫了一下,收银台自动显示出价格,一个时代便由此诞生了。
    • 2、40 年后的今天,人们每天要扫描50亿次条 形码。
    • 3、研究估计,条形码每年为社会节约300亿美元。
    • 4、条形码在生活中可谓无所不在:其中包括物流、仓储,图书馆,银行,pos收银系统,医疗卫生、零售商品、服装、食品服务以及高科技电子产品等等,而目 前仍然会在每天都在一些新增加的项目上持续的用到条码应用领域。

    条形码的编码原理

    1
    条形码由空白区,起始码,数据码,纠错码,终止码等部分组成。

    条形码的编码原理 –>一维条码

    编码方法
    - 模块组配编码法
    2
    - 宽度调节编码法
    3

    条形码的编码原理 –>二维条码

    编码方法
    - 堆叠式 / 行排式
    4
    - 矩阵式(二维码)
    5
    识别原理
    - 1、扫描轨迹
    6
    - 2、光探头接收到信号
    7
    - 3、经过放大整形后的电信号
    8

    系统硬件

    9
    扫描器
    制作条形码扫描器必备的.这个两百多,呜呜,学校说可以报销,我都快毕业了,钱都没看到.
    !色标传感器

    扫描器原理图
    扫描器原理图
    放大整形电路(好久没看电路图了,想当初学电路时,每天看这些,煎熬啊.还好这个电路图没那么复杂)
    12
    译码器
    制作这个扫描器需要用到C51单片机.
    C51
    C51原理图
    AT89C51特点
    这东西当初为了买它,跑了好几次市场,因为型号不对.纠结
    特点
    译码器的功能:
    数据采集。
    • 确认位于符号两侧的有效静区。
    • 通过起始字符、终止字符判别条形码符号的码制及扫描方向。
    • 将每个元素宽度量化成相应码制的若干个单位元素宽度。
    • 确保被量化的元素宽度与所译码制的编码规则一致。
    • 将条码符号所表示的数据转换成计算机可识别的数据(译码),并传输给计算机。
    • 显示条形码符号表示的数据,从而使蜂鸣器、显示灯指示阅读成功。
    数据采集电路图
    - 当INT1第一个脉冲下降沿触发中断时,中断服务程序启动定时器0,记录条的脉宽。当INT0的第一个脉冲下降沿触发中断时,中断服务程序启动定时器1记录空的脉宽。
    两个中断采集
    - 设计思想是,无论扫描器输出信号的上升沿还是下降沿,均在INT0端产生负脉冲信号,以触发外中断0中断。
    单中断数据采集

    系统软件

    条形码宽度测量
    条形码宽度测量
    26
    计时器模式控制寄存器TMOD
    其中GATE=1表示Timer1或是timer0必须在INT0或INT1是在高电位时才会初始化,C/T=1表示计时计数是由外部引脚T0或T1输入计时的脉冲。M1和M0用来选择计时计数器的工作模式。
    本系统中,设GATE=1,C/T=0(定时功能),TR0=1,INT0=1时开始测量脉冲宽度。M1M0=01即为16位计数器,在晶振为12MHZ时候,能最大定时65.536ms.
    程序流程图
    15
    主程序流程图
    16
    码制的判别和译码(交叉25码)
    17
    交叉25码编码规则
    18
    码制判别程序流程图
    19

    串口通信电路图

    20
    21
    本系统兼有硬件和软件设计,如果将光电探头改成CCD扫描器,通过编写相应的图像识别程序,亦能识别二维条码。
    下面贴上我的板子~焊得不是很专业,这个线太粗了,应该换成那种细的.
    22
    23
    24
    这个是教我这个的老师的图,我的那个线太丑了,就不放了.
    成品图
    这里贴上部分代码,感兴趣的可以去我的github上看看

    
    #include <REGX51.H>
    
    static int wide[19];
    static char wi[19];
    static int x=0,y=0;
    static char a[2],b[2],c[2];
    static char n=0;
    static char TT0=0,TT1=0,ZZ0=0,ZZ1=0;
    
    void delay (void)  {          
      unsigned char i,j;         
         for (i=0;i<255;i++)
              for(j=0;j<255;j++)
              ;
    }
    static void xint0_isr(void) interrupt IE0_VECTOR
    { 
          ZZ0=1;ZZ1=0;
      }
    static void xint1_isr(void) interrupt IE1_VECTOR
    {
    ZZ1=1;ZZ0=0;
    }
    
    void luoji(void){
       unsigned char m;
        wi[2]=0;
        for(m=2;m<19;m++)
        { 
          if(wide[m+1]>2*wide[m])
              wi[m+1]=1;
               else if(2*wide[m+1]<wide[m])
                   wi[m+1]=0;
                    else wi[m+1]=wi[m];
         }
    }
    void yuedu(void){
          {
               if((wi[4]==0)&&(wi[6]==0)&&(wi[8]==1)&&(wi[10]==1)&&(wi[12]==0)) a[0]=0;
               else if((wi[4]==1)&&(wi[6]==0)&&(wi[8]==0)&&(wi[10]==0)&&(wi[12]==1))a[0]=1;
               else if((wi[4]==0)&&(wi[6]==1)&&(wi[8]==0)&&(wi[10]==0)&&(wi[12]==1))a[0]=2;
               else if((wi[4]==1)&&(wi[6]==1)&&(wi[8]==0)&&(wi[10]==0)&&(wi[12]==0))a[0]=3;
               else if((wi[4]==0)&&(wi[6]==0)&&(wi[8]==1)&&(wi[10]==0)&&(wi[12]==1))a[0]=4;
               else if((wi[4]==1)&&(wi[6]==0)&&(wi[8]==1)&&(wi[10]==0)&&(wi[12]==0))a[0]=5;
               else if((wi[4]==0)&&(wi[6]==1)&&(wi[8]==1)&&(wi[10]==0)&&(wi[12]==0))a[0]=6;
               else if((wi[4]==0)&&(wi[6]==0)&&(wi[8]==0)&&(wi[10]==1)&&(wi[12]==1))a[0]=7;
               else if((wi[4]==1)&&(wi[6]==0)&&(wi[8]==0)&&(wi[10]==1)&&(wi[12]==0))a[0]=8;
               else if((wi[4]==0)&&(wi[6]==1)&&(wi[8]==0)&&(wi[10]==1)&&(wi[12]==0))a[0]=9;
             }
    
             {
                if((wi[5]==0)&&(wi[7]==0)&&(wi[9]==1)&&(wi[11]==1)&&(wi[13]==0)) a[1]=0;
               else if((wi[5]==1)&&(wi[7]==0)&&(wi[9]==0)&&(wi[11]==0)&&(wi[13]==1)) a[1]=1;
               else if((wi[5]==0)&&(wi[7]==1)&&(wi[9]==0)&&(wi[11]==0)&&(wi[13]==1)) a[1]=2;
               else if((wi[5]==1)&&(wi[7]==1)&&(wi[9]==0)&&(wi[11]==0)&&(wi[13]==0)) a[1]=3;
               else if((wi[5]==0)&&(wi[7]==0)&&(wi[9]==1)&&(wi[11]==0)&&(wi[13]==1)) a[1]=4;
               else if((wi[5]==1)&&(wi[7]==0)&&(wi[9]==1)&&(wi[11]==0)&&(wi[13]==0)) a[1]=5;
               else if((wi[5]==0)&&(wi[7]==1)&&(wi[9]==1)&&(wi[11]==0)&&(wi[13]==0)) a[1]=6;
               else if((wi[5]==0)&&(wi[7]==0)&&(wi[9]==0)&&(wi[11]==1)&&(wi[13]==1)) a[1]=7;
               else if((wi[5]==1)&&(wi[7]==0)&&(wi[9]==0)&&(wi[11]==1)&&(wi[13]==0)) a[1]=8;
               else if((wi[5]==0)&&(wi[7]==1)&&(wi[9]==0)&&(wi[11]==1)&&(wi[13]==0)) a[1]=9;
            }
    
            {
                if((wi[6]==0)&&(wi[8]==0)&&(wi[10]==1)&&(wi[12]==1)&&(wi[14]==0)) b[0]=0;
               else if((wi[6]==1)&&(wi[8]==0)&&(wi[10]==0)&&(wi[12]==0)&&(wi[14]==1))b[0]=1;
               else if((wi[6]==0)&&(wi[8]==1)&&(wi[10]==0)&&(wi[12]==0)&&(wi[14]==1))b[0]=2;
               else if((wi[6]==1)&&(wi[8]==1)&&(wi[10]==0)&&(wi[12]==0)&&(wi[14]==0))b[0]=3;
               else if((wi[6]==0)&&(wi[8]==0)&&(wi[10]==1)&&(wi[12]==0)&&(wi[14]==1))b[0]=4;
               else if((wi[6]==1)&&(wi[8]==0)&&(wi[10]==1)&&(wi[12]==0)&&(wi[14]==0))b[0]=5;
               else if((wi[6]==0)&&(wi[8]==1)&&(wi[10]==1)&&(wi[12]==0)&&(wi[14]==0))b[0]=6;
               else if((wi[6]==0)&&(wi[8]==0)&&(wi[10]==0)&&(wi[12]==1)&&(wi[14]==1))b[0]=7;
               else if((wi[6]==1)&&(wi[8]==0)&&(wi[10]==0)&&(wi[12]==1)&&(wi[14]==0))b[0]=8;
               else if((wi[6]==0)&&(wi[8]==1)&&(wi[10]==0)&&(wi[12]==1)&&(wi[14]==0))b[0]=9;
             }
    
    
               {
                if((wi[7]==0)&&(wi[9]==0)&&(wi[11]==1)&&(wi[13]==1)&&(wi[15]==0)) b[1]=0;
               else if((wi[7]==1)&&(wi[9]==0)&&(wi[11]==0)&&(wi[13]==0)&&(wi[15]==1)) b[1]=1;
               else if((wi[7]==0)&&(wi[9]==1)&&(wi[11]==0)&&(wi[13]==0)&&(wi[15]==1)) b[1]=2;
               else if((wi[7]==1)&&(wi[9]==1)&&(wi[11]==0)&&(wi[13]==0)&&(wi[15]==0)) b[1]=3;
               else if((wi[7]==0)&&(wi[9]==0)&&(wi[11]==1)&&(wi[13]==0)&&(wi[15]==1)) b[1]=4;
               else if((wi[7]==1)&&(wi[9]==0)&&(wi[11]==1)&&(wi[13]==0)&&(wi[15]==0)) b[1]=5;
               else if((wi[7]==0)&&(wi[9]==1)&&(wi[11]==1)&&(wi[13]==0)&&(wi[15]==0)) b[1]=6;
               else if((wi[7]==0)&&(wi[9]==0)&&(wi[11]==0)&&(wi[13]==1)&&(wi[15]==1)) b[1]=7;
               else if((wi[7]==1)&&(wi[9]==0)&&(wi[11]==0)&&(wi[13]==1)&&(wi[15]==0)) b[1]=8;
               else if((wi[7]==0)&&(wi[9]==1)&&(wi[11]==0)&&(wi[13]==1)&&(wi[15]==0)) b[1]=9;
            }
             {
              if((wi[8]==0)&&(wi[10]==0)&&(wi[12]==1)&&(wi[14]==1)&&(wi[16]==0)) c[0]=0;
               else if((wi[8]==1)&&(wi[10]==0)&&(wi[12]==0)&&(wi[14]==0)&&(wi[16]==1))c[0]=1;
               else if((wi[8]==0)&&(wi[10]==1)&&(wi[12]==0)&&(wi[14]==0)&&(wi[16]==1))c[0]=2;
               else if((wi[8]==1)&&(wi[10]==1)&&(wi[12]==0)&&(wi[14]==0)&&(wi[16]==0))c[0]=3;
               else if((wi[8]==0)&&(wi[10]==0)&&(wi[12]==1)&&(wi[14]==0)&&(wi[16]==1))c[0]=4;
               else if((wi[8]==1)&&(wi[10]==0)&&(wi[12]==1)&&(wi[14]==0)&&(wi[16]==0))c[0]=5;
               else if((wi[8]==0)&&(wi[10]==1)&&(wi[12]==1)&&(wi[14]==0)&&(wi[16]==0))c[0]=6;
               else if((wi[8]==0)&&(wi[10]==0)&&(wi[12]==0)&&(wi[14]==1)&&(wi[16]==1))c[0]=7;
               else if((wi[8]==1)&&(wi[10]==0)&&(wi[12]==0)&&(wi[14]==1)&&(wi[16]==0))c[0]=8;
               else if((wi[8]==0)&&(wi[10]==1)&&(wi[12]==0)&&(wi[14]==1)&&(wi[16]==0))c[0]=9;
             }
    
    
               {
                if((wi[9]==0)&&(wi[11]==0)&&(wi[13]==1)&&(wi[15]==1)&&(wi[17]==0)) c[1]=0;
               else if((wi[9]==1)&&(wi[11]==0)&&(wi[13]==0)&&(wi[15]==0)&&(wi[17]==1)) c[1]=1;
               else if((wi[9]==0)&&(wi[11]==1)&&(wi[13]==0)&&(wi[15]==0)&&(wi[17]==1)) c[1]=2;
               else if((wi[9]==1)&&(wi[11]==1)&&(wi[13]==0)&&(wi[15]==0)&&(wi[17]==0)) c[1]=3;
               else if((wi[9]==0)&&(wi[11]==0)&&(wi[13]==1)&&(wi[15]==0)&&(wi[17]==1)) c[1]=4;
               else if((wi[9]==1)&&(wi[11]==0)&&(wi[13]==1)&&(wi[15]==0)&&(wi[17]==0)) c[1]=5;
               else if((wi[9]==0)&&(wi[11]==1)&&(wi[13]==1)&&(wi[15]==0)&&(wi[17]==0)) c[1]=6;
               else if((wi[9]==0)&&(wi[11]==0)&&(wi[13]==0)&&(wi[15]==1)&&(wi[17]==1)) c[1]=7;
               else if((wi[9]==1)&&(wi[11]==0)&&(wi[13]==0)&&(wi[15]==1)&&(wi[17]==0)) c[1]=8;
               else if((wi[9]==0)&&(wi[11]==1)&&(wi[13]==0)&&(wi[15]==1)&&(wi[17]==0)) c[1]=9;
            }
    }
    }
    展开全文
  • 条码扫描器

    2014-12-25 09:13:36
    个android条码扫描器程序,布局及功能均很简单,删除了zxing中大量无关代码,主要通过两个class完成条码的扫描工作,相较于其他扫描类代码更易入门。
  • NT0810系列产品是款高度集成、性能优良的二维扫描引擎模组。 NT0810系列产品拥有独特的光学结构设计及一套崭新的专有影像传感器,再配合先进的照明设计,在采集图像信息进行条码解读时,具有非凡的灵敏度和运动容差...
  • 世界上信息无处不在,条码就无孔不入。方便快速的生成和读取条码信息,已经成为智能手机的基本功能。如何在Window Phone手机应用上实现条码扫描功能呢?最先想到的可能是首先用摄像头读取...ZXing库实现了众多的一维...
  • 安卓手机也可以当作扫描枪啦!一维码,二维码统统搞定。只要你的安卓手机能和电脑连接,就像扫描枪一样的效果,还支持当下流行的二维码识别,方便快捷。本软件还支持摄像头进
  • 识别条码: QR , Data Matrix , PDF417 , Maxicode , RSS 以及通用的一维条码 密封性能: IP54 耐冲击性能: 26 次从 2.0 高处跌落水泥地面无损 工作温度: 0-50℃ 环境光照: 20-10000 lux 重量:...
  • 条形码扫描软件

    2011-09-15 11:24:31
    扫描二维码的小工具,可以随时随地对条形码二维码进行扫描查询!
  • SICK CLV410标准型一维条码阅读zip,SICK CLV410标准型一维条码阅读
  • 图书isbn批量生成一维条码

    千次阅读 2017-09-30 21:56:42
    图书isbn条形码就是图书背面右下侧印刷的 一维条码,可以用扫描枪来读取,速度快且准确。再很多时候我们需要批量的生成该一维条码,在xls里面一列输入待转换的isbn号,然后用这个工具软件自动生成对应的一维码。这个...
  • BarcodeScanner Android手机客户端关于二维码扫描的源码,使用了zxing 3.1.1代码并对其进行了精简,支持低版本的sdk,实现了二维码和一维码扫描、从图片解析一维码和二维码,闪光灯、调焦。。。 参考文档
  • 条码技术——从一维到二维 从条形码到二维码 生活中,我们经常能够看到二维码,到处充斥着“扫一扫”,但是,你是否想过,小小的二维码里面藏着哪些信息?二维码又是如何被创造出的? 条码技术的诞生从...
  • 一维,二维条形码/条码的编码规则

    万次阅读 2012-08-07 10:17:27
     唯一性:同种规格同种产品对应同个产品代码,同种产品不同规格应对应不同的产品代码。根据产 品的不同性质,如:重量、包装、规格、气味、颜色、形状等等,赋予不同的商品代码。  永久性:产品代码一经分配...
  • 使用库从Python 2和3读取一维条形码和QR码。 纯Python 适用于PIL /枕头图像,OpenCV / numpy ndarray和原始字节 解码条形码的位置 除了zbar库本身之外,没有依赖关系 在Python 2.7和Python 3.4至3.7上进行了测试 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,675
精华内容 1,470
关键字:

一维条码扫描软件