精华内容
下载资源
问答
  • 识别条形码

    2017-08-28 23:44:44
    识别条形码 成绩 10 开启时间 2017年08月28日 星期一 09:00 折扣 0.8 折扣时间 2017年09月2日 星期六 22:00 允许迟交 否 关闭时间 2017年10月10日 星期二 00:00 计算机学院2013级的院草语文难同学是...

    识别条形码

    成绩 10 开启时间 2017年08月28日 星期一 09:00
    折扣 0.8 折扣时间 2017年09月2日 星期六 22:00
    允许迟交 关闭时间 2017年10月10日 星期二 00:00

    计算机学院2013级的院草语文难同学是软院院花牟黑黑爱慕的对象,因此牟黑黑经常约楠神去逛街,楠神不喜欢陪牟黑黑逛街,但是不得不从啊。所以在牟黑黑逛街的时候他就无聊的用眼睛识别条形码 。

    在生活中,条形码经常用来标志物品的信息。条形码是由黑白相间的条组成的。条的宽度有两种,我们可以认为窄的代表0,宽的代表1。本题中设定宽条的宽度是窄条的两倍。

    楠神拥有很强的DIY精神,他决定做一个条形码识别工具。首先他完成了图像识别部分,得到了一系列条的宽度。他希望将这些宽度识别为一个01串。本来这是一个非常简单的任务,可是由于楠神在识别的时候会有误差,使得问题变得没那么简单了。不过楠神认为测量得到的结果最多比真实值大或小5%。请你帮忙完成这个识别程序。已知条形码中至少有一个是宽条,可能没有窄条。

    输入第一行为一个数字n(n<20),表示楠神识别出了n个条。

    第二行为n个正整数,均不大于10^8。

    输出为一个长度为n的01串,宽条对应1,窄条对应0。如果有些条偏差的超过了限制,输出“Bad Barcodes”

      测试输入关于“测试输入”的帮助 期待的输出关于“期待的输出”的帮助 时间限制关于“时间限制”的帮助 内存限制关于“内存限制”的帮助 额外进程关于“{$a} 个额外进程”的帮助
    测试用例 1 以文本方式显示
    1. 4↵
    2. 99 105 200 199↵
    以文本方式显示
    1. 0011↵
    1秒 64M 0


    先判断宽条纹,1.如果最宽条纹/1.05<=最窄条纹/0.95,都是宽条纹;
    2.如果条纹小于某一中间值,记作窄条纹,否则,记作宽条纹;并将窄条纹*2计入原数组;
    3.对新数组,进行1的判断,违反1,则输出bad   ;
    否则,输出条形码。
    
    
    展开全文
  • JS实现识别条形码

    2018-10-08 10:36:50
    利用 quagga.js 实现 识别条形码 打开页面即可使用 简单易懂
  • C语言识别条形码

    2015-11-24 18:11:08
    C语言编程题,通过C语言解决识别条形码问题。
  • 我在尝试使用java openCV 识别条形码。在花边框时却这样。我初步判断是,计算面积出现问题。System.out.println("Welcome to OpenCV "+Core.VERSION);Mat m = new Mat(5,10, CvType.CV_8UC1,new Scalar(0));System....

    我在尝试使用java openCV 识别条形码。在花边框时却这样。

    我初步判断是,计算面积出现问题。

    067e77272594000800a3d13c82e00194.png

    System.out.println("Welcome to OpenCV "+Core.VERSION);

    Mat m = new Mat(5,10, CvType.CV_8UC1,new Scalar(0));

    System.out.println("OpenCV:"+m);

    Mat srcImage = Imgcodecs.imread("C:\\Users\\13543\\Desktop\\timg.jpg");//原始

    Mat grayImage = new Mat();//灰色

    Mat gradientXImage = new Mat();

    Mat gradientYImage = new Mat();

    Mat gradientImage = new Mat();

    Mat blurImage = new Mat();//降噪图

    Mat thresholdImage = new Mat();

    Mat morphImage = new Mat();

    Mat resultFileNameSring = new Mat();

    ImageViewer imageViewer = new ImageViewer(srcImage, "原图");

    imageViewer.imshow();

    if(srcImage.empty()){

    System.out.println("image file read error");

    return;

    }

    //图片转为灰度图片

    if(srcImage.channels()==3){

    Imgproc.cvtColor(srcImage,grayImage,Imgproc.COLOR_RGB2GRAY);

    }else{

    grayImage = srcImage.clone();

    }

    new ImageViewer(grayImage, "灰色图").imshow();

    //建立图像的梯度幅值(滤波器)

    Imgproc.Scharr(grayImage,gradientXImage,CvType.CV_32F,1,0);

    Imgproc.Scharr(grayImage,gradientYImage,CvType.CV_32F,0,1);

    //因为我们需要的条形码在需要X方向水平,所以更多的关注X方向的梯度幅值,而省略掉Y方向的梯度幅值

    Core.subtract(gradientXImage,gradientYImage,gradientImage);

    //归一化为八位图像

    Core.convertScaleAbs(gradientImage,gradientImage);

    //看看得到的梯度图像是什么样子

    new ImageViewer(gradientImage, "3图").imshow();

    //对图片进行相应的模糊化,使一些噪点消除

    Imgproc.blur(gradientImage,blurImage,new Size(9,9));

    //模糊化以后进行阈值化,得到到对应的黑白二值化图像,二值化的阈值可以根据实际情况调整

    Imgproc.threshold(blurImage,thresholdImage,210,255,Imgproc.THRESH_BINARY);

    //看看二值化图像

    new ImageViewer(thresholdImage, "4图").imshow();

    //二值化以后的图像,条形码之间的黑白没有连接起来,就要进行形态学运算,消除缝隙,相当于小型的黑洞,选择闭运算

    //因为是长条之间的缝隙,所以需要选择宽度大于长度

    Mat kernel = Imgproc.getStructuringElement(MORPH_RECT,new Size(21,7));

    Imgproc.morphologyEx(thresholdImage,morphImage,MORPH_CLOSE,kernel);

    //看看形态学操作以后的图像

    new ImageViewer(morphImage, "5图").imshow();

    //现在要让条形码区域连接在一起,所以选择膨胀腐蚀,而且为了保持图形大小基本不变,应该使用相同次数的膨胀腐蚀

    //先腐蚀,让其他区域的亮的地方变少最好是消除,然后膨胀回来,消除干扰,迭代次数根据实际情况选择

    Imgproc.erode(morphImage,morphImage,Imgproc.getStructuringElement(MORPH_RECT,new Size(3,3)),new Point(-1,-1),4);

    Imgproc.dilate(morphImage,morphImage,Imgproc.getStructuringElement(MORPH_RECT,new Size(3,3)),new Point(-1,-1),4);

    //看看形态学操作以后的图像

    new ImageViewer(morphImage, "6图").imshow();

    List contours = new ArrayList();

    List contourArea = new ArrayList();

    Mat hierarchy = new Mat();

    //接下来对目标轮廓进行查找,目标是为了计算图像面积

    Imgproc.findContours(morphImage,contours,hierarchy,Imgproc.RETR_EXTERNAL,Imgproc.CHAIN_APPROX_SIMPLE);

    System.out.println("============"+contours.size());

    //计算轮廓的面积并且存放

    for(int i = 0; i < contours.size();i++)

    {

    contourArea.add(Imgproc.contourArea(contours.get(i)));

    }

    //找出面积最大的轮廓

    Double maxValue;Point maxLoc;

    Core.MinMaxLocResult minMaxLocResult = Core.minMaxLoc(morphImage);

    // minMaxLoc(contourArea, NULL,&maxValue,NULL,&maxLoc);

    // minMaxLoc()

    // Core.MinMaxLocResult

    // Core.MinMaxLocResult minMaxLocResult = Core.minMaxLoc(morphImage,morphImage);//Core.minMaxLoc(morphImage);

    maxValue = minMaxLocResult.maxVal;

    maxLoc = minMaxLocResult.maxLoc;

    System.out.println("x:"+maxLoc.x+" y:"+maxLoc.y+" maxVal:"+maxValue);

    //

    // System.out.println("*********Start*******");

    List newContours = new ArrayList<>();

    for(MatOfPoint point : contours) {

    MatOfPoint2f newPoint = new MatOfPoint2f(point.toArray());

    newContours.add(newPoint);

    }

    /计算面积最大的轮廓的最小的外包矩形

    MatOfPoint2f m2f = (MatOfPoint2f) contours.get((int)maxLoc.x);

    RotatedRect minRect = minAreaRect(newContours.get((int)maxLoc.x));

    //

    //

    //

    //

    //

    // //为了防止找错,要检查这个矩形的偏斜角度不能超标

    // //如果超标,那就是没找到

    if(minRect.angle<2.0){

    //找到了矩形的角度,但是这是一个旋转矩形,所以还要重新获得一个外包最小矩形

    Rect myRect = boundingRect(newContours.get((int)maxLoc.x));

    // //把这个矩形在源图像中画出来

    rectangle(srcImage,myRect,new Scalar(0,255,255),3,LINE_AA);

    // //把这个矩形在源图像中画出来

    new ImageViewer(srcImage, "7图").imshow();

    }

    展开全文
  • opencv+zbar识别条形码

    2020-09-22 15:23:52
    使用opencv和zbar识别条形码,可以扩展识别二维码,需要zbar,引用zbar才可以使用,不然没有办法使用!!!!!!!!!!!!!!
  • 前端js识别条形码.zip

    2021-01-22 16:55:59
    上传静态图片,前端js识别条形码,支持EAN-13码(EAN-13国际商品条码)、Code128码等条码类型。 开包即用!!!!! 开包即用!!!!! 开包即用!!!!! 开包即用!!!!! 开包即用!!!!!
  • 前几天有个网友留言说如何对快递单的照片进行数字重命名,有没有高效的方式 这次我们写出第二种方案,【 请务必看完再使用软件 】 ...我们就用Code128的示例来说明,怎么去识别条形码中的数字,来改这个图片 这里要

    前几天有个网友留言说如何对快递单的照片进行数字重命名,有没有高效的方式

    这次我们写出第二种方案,【 请务必看完再使用软件 】

    以前我们写过一篇文章如何批量识别图片里的文字精准判断位置重命名

    方案一:【批量识别图片部分区域的文字改文件名

    方案二:就是如何去读取图片上的条码来进行重命名,方案如下:

    首先分析条形码的类型

    主要是:EAN-13、128,CODE128,39等等,今天先将条形码,二维码就先放一边

    我们就用Code128的示例来说明,怎么去识别条形码中的数字,来改这个图片

    这里要用到一个核心识别引擎Zbar的识别方法

    我们看到文件夹内有很多条形码,还有二维码,还有张快递单号

    下面我们就直接用到今天的条形码识别工具

    第一步:导入图片(支持单个文件、文件夹、文件夹含子文件夹)简单预览下图片是否导入正确

    第二步:选择上方一键识别的按钮,条形码会自动识别,处理文件

    从右边日志看到我们处理的日期、还有图片路径、还有条形码的文本、最后状态是否完成

    最后看一下文件夹的文件名的状态,所有的条形码都已经重命名,那张快递单号也被重命名了

    二维码不属于条形码识别的范畴,最后被归纳到另外一个文件夹内

    保存出识别不了的图片,便于大家整理,提高工作效率

    谢谢大家的支持,最后软件下载地址:

    CSDN赞助下载地址https://download.csdn.net/download/bbyn1314/12413184

    百度网盘下载地址:链接:https://pan.baidu.com/s/1zIzGB55PO9h5_xECs4U5YQ 提取码:fvjc 
     

    展开全文
  • Zxing java识别条形码例子
  • 主要介绍了Android上使用ZXing识别条形码与二维码的方法,需要的朋友可以参考下
  • android上使用ZXing识别条形码和二维码,代码简单易懂,相信能帮助读者迅速掌握相关的开发
  • 主要给大家介绍了关于Java创建、识别条形码和二维码的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • 条形码扫描器识别条形码的原理

    千次阅读 2012-02-28 14:16:38
    条形码扫描器识别条形码的原理  条形码扫描器识别条形码时,根据不同颜色的物体,其反射的可见光的波长不同,白色物体能反射各种波长的可见光,黑色物体则吸收各种波长的可见光,当条形码扫描器光源发出的光经光阑...

    条形码扫描器识别条形码的原理
          条形码扫描器识别条形码时,根据不同颜色的物体,其反射的可见光的波长不同,白色物体能反射各种波长的可见光,黑色物体则吸收各种波长的可见光,当条形码扫描器光源发出的光经光阑及凸透镜以后,照射到黑白相间的条形码上时,反射光经凸透镜2聚焦后,照射到条码扫描器的光电转换器上,于是光电转换器接收到与白条和黑条相应的强弱不同的反射光信号,并转换成相应的电信号输出到条码扫描器的放大整形电路.白条、黑条的宽度不同,相应的电信号持续时间长短也不同.但是,由光电转换器输出的与条形码的条和空相应的电信号一般仅10mV左右,不能直接使用,因而先要将光电转换器输出的电信号送放大器放大.放大后的电信号仍然是一个模拟电信号,为了避免由条形码中的疵点和污点导致错误信号,在放大电路后需加一整形电路,把模拟信号转换成数字电信号,以便计算机系统能准确判读. 整形电路的脉冲数字信号经译码器译成数字、字符信息.它通过识别起始、终止字符来判别出条形码符号的码制及扫描方向;通过测量脉冲数字电信号0、1的数目来判别出条和空的数目.通过测量0、1信号持续的时间来判别条和空的宽度.这样便得到了被辩读的条形码符号的条和空的数目及相应的宽度和所用码制,根据码制所对应的编码规则,条码扫描器便可将条形符号换成相应的数字、字符信息,通过接口电路送给计算机系统进行数据处理与管理,便完成了条形码辨读的全过程.
    展开全文
  • js识别条形码 <script src="js/quagga.js"></script> <script type="text/javascript"> //上传图片 function change(event) { console.log(event.target.files); var file = ...
  • 批量识别条形码

    2018-11-04 20:32:15
    VS2010开发,调用zxing和Vintasoft.Barcode识别文件夹中条码
  • 用python识别条形码,二维码并且定位标注

    千次阅读 多人点赞 2019-05-22 11:06:08
    原理很简单用OpenCV处理图片pyzbar识别条形码 python里面有一个包pyzbar可以用识别二维码和条形码,我们再结合OpenCV处理图片的功能就可以标注出二维码位置内容 我们生活中的常见的带有二维码和条形码的图片如下...
  • 条形码是由一定的字符,...本文将通过使用Java程序来详细介绍如何生成和识别一些常见的一维和二维条形码。Jar文件获取及导入:方法1:通过官网下载获取jar包。解压后将lib文件夹下的Spire.Barcode.jar文件导入Java...
  • 在Android上使用ZXing识别条形码/二维码
  • 条形码是由一定的字符,...本文将通过使用Java程序来详细介绍如何生成和识别一些常见的一维和二维条形码。Jar文件获取及导入:方法1:通过官网下载获取jar包。解压后将lib文件夹下的Spire.Barcode.jar文件导入Java...
  • 网教11.识别条形码

    2016-09-10 14:10:41
    所以在牟黑黑逛街的时候他就无聊的用眼睛识别条形码 。 在生活中,条形码经常用来标志物品的信息。条形码是由黑白相间的条组成的。条的宽度有两种,我们可以认为窄的代表0,宽的代表1。本题中设定宽条的宽度是窄条的...
  • 通用条形码阅读器(基于ZXing),通用条形码阅读器(基于ZXing)。 强烈建议使用高清网络摄像头。
  • h5使用vue+quagga识别条形码图片

    千次阅读 2020-04-16 14:41:23
    最近有一个需求,要求扫描识别条形码,研究了各种方法,最后选定了拍照上传图片,然后使用quagga识别这一方案 使用demo: 拍照上传图片这里尝试了两种方法,一种是原生的input实现,一种是使用了vant上传组件 ...
  • 识别条形码

    2020-12-31 12:32:55
    <div><p>该提问来源于开源项目:jenly1314/ZXingLite</p></div>
  • 识别条形码

    2020-12-04 20:53:13
    <div><p>该提问来源于开源项目:devilsen/CZXing</p></div>
  • 移动设备视频流识别条形码   条形码在我们生活中随处可见。在超市收银、仓储管理、移动支付、快递、共享单车等等领域,条形码都发挥着非常重要的作用。例如,在仓库管理中,只要使用扫码枪轻松一扫,系统即可...
  • I want to read barcodes in python. I searched for library that support barcode reading and also support python 2.7, but I didn't find anything.Is there any library that can help me?...
  • 利用OpenCV,动态扫描条形码,修改后也可以用来识别二维码。
  • BITCS2016程序设计 | 11. 识别条形码

    千次阅读 2016-10-20 19:26:47
    11.识别条形码 成绩 10 开启时间 2016年09月6日 星期二 11:00 折扣 0.8 折扣时间 2016年09月12日 星期一 23:55 允许迟交 否 关闭时间 2016年10月10日 星期一 23:55 计算机学院2013级的院...

空空如也

空空如也

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

识别条形码