首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >The C++ version of zbar

The C++ version of zbar

原创
作者头像
Swing Dunn
发布2025-10-23 16:41:49
发布2025-10-23 16:41:49
680
举报
文章被收录于专栏:Some studies in imgsSome studies in imgs

Source code:

代码语言:txt
复制
//首先将图cur_img转换为灰度图
//cv::cvtColor(cur_img, cur_img, cv::COLOR_BGR2GRAY);
//zbar::ImageScanner 创建一个图像扫描的对象
zbar::ImageScanner scanner;
//调用set_config方法进行条形码识别 现在一般都CODE128 
scanner.set_config(zbar::ZBAR_NONE, zbar::ZBAR_CFG_ENABLE, 1);
 
 
//准备图像数据 首先获取cur_img数据的指针
//创建一个zbar::Image
uchar* raw = (uchar*)cur_img.data;
if (!raw)
return 0;
zbar::Image imageZbar(cur_img.cols, cur_img.rows, "Y800", cur_img.data, cur_img.step);
//扫描条形码
scanner.scan(imageZbar);
//对比识别结果
zbar::Image::SymbolIterator symbol = imageZbar.symbol_begin();
if (symbol == imageZbar.symbol_end())
{
    std::cout << "查询条码失败,请检查图片!" << std::endl;
return -1;
}
else {
//提取条形码信息
for (; symbol != imageZbar.symbol_end(); ++symbol) {
        std::string bar_type = symbol->get_type_name();
//将条形码数据存储在barcode中
        ans = symbol->get_data().c_str();
break;
    }
}
return 0;

Result:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Source code:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档