Zbar扫描条形码代码

3 篇文章 0 订阅

    #include <zbar.h>

    zbar::ImageScanner scaner;
    scaner.set_config(zbar::ZBAR_NONE,zbar::ZBAR_CFG_ENABLE,1);


    int width = img_gray.cols;
    int height = img_gray.rows;
    //在ZBar中进行扫描的时候,需要将OpenCV中的Mat类型转换成(uchar×)类型,raw中存放的是图像的地址
    uchar *raw = (uchar*)img_gray.data;
    //对应的图像转成Zbar中的zbar::Image
    zbar::Image imageZbar(width,height,"Y800",raw,width*height);

    scaner.scan(imageZbar);

    if(imageZbar.symbol_begin() == imageZbar.symbol_end() )
    {
        std::cout << "Scan is failed!" << std::endl;
    }
    for(zbar::Image::SymbolIterator symbol = imageZbar.symbol_begin(); symbol!= imageZbar.symbol_end(); ++symbol)
    {
        std::string text = symbol->get_data();
        std::cout << "Type: " << std::endl << symbol->get_type_name() << std::endl << std::endl;
        std::cout << "Barcode: " << std::endl << text << std::endl << std::endl;
        cv::putText(img,text,cv::Point(50,50),cv::FONT_HERSHEY_COMPLEX,1,cv::Scalar(0,0,255));
        cv::imshow("11.Result",img);

    }

Zbar支持的条形码格式有:

EAN-13

UPC-A

UPC-E

EAN-8

Code128

Code39

Interleaved 2 / 5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值