https://pypi.python.org/simple/zbar/ 下载zbar-0.10.tar.bz2 然后 sudo python setup.py install
Enumerator: ZBAR_NONE no symbol decoded ZBAR_PARTIAL intermediate status ZBAR_EAN8 EAN-8. ZBAR_UPCE UPC-E. ZBAR_ISBN10 ISBN-10 (from EAN-13). Since: 0.4 ZBAR_UPCA UPC-A. ZBAR_EAN13 EAN-13. ZBAR_ISBN13 ISBN-13 (from EAN-13). Since: 0.4 ZBAR_PDF417 PDF417. Since: 0.6 ZBAR_QRCODE QR Code. ZBAR_SYMBOL mask for base symbol type ZBAR_ADDON2 2-digit add-on flag ZBAR_ADDON5 5-digit add-on
图像扫描的工作都是由zbar_scan_image完成的,zbar_scan_image主要根据设定的扫描密度(density)控制像素点读取(Z字形),scanner.c文件内的zbar_scan_y int zbar_scan_image (zbar_image_scanner_t *iscn, zbar_image_t *img) { /* timestamp (iscn, img); zbar_symbol_set_t *syms = iscn->syms; if(! syms) { syms = iscn->syms = _zbar_symbol_set_create(); STAT(syms_new); zbar_symbol_set_ref iscn->enable_cache && (density == 1 || CFG(iscn, ZBAR_CFG_Y_DENSITY) == 1)) { zbar_symbol_t
zbar_symbol_type_t zbar_scan_y (zbar_scanner_t *scn, int y) { /* { /* update weighted moving average */ y0_0 += ((int)((y - y0_1) * EWMA_WEIGHT)) >> ZBAR_FIXED edge = ZBAR_NONE; /* 2nd zero-crossing is 1st local min/max - could be edge */ if((! if(y2_1) /* interpolate zero crossing */ scn->cur_edge -= ((y2_1 << ZBAR_FIXED ) + 1) / d; scn->cur_edge += x << ZBAR_FIXED; dprintf(1, "\n"); }
Source code://首先将图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::Imageuchar* raw = (uchar* 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
?
http://pastebin.com/wSVW1tRc CGRect scanCrop The region of the video image that will be scanned, in normalized image coordinates. Note that the video image is in landscape mode (default {{0, 0}, {1, 1}}) The coordinates for all of the arguments is in a
QR解码流程:运动均值去噪、二阶微分边缘检测、获取QR定位标志、生成finder pattern 聚类、计算相交的水平聚类和垂直聚类的中心、识别符号。
1.wget http://downloads.sourceforge.net/project/zbar/zbar/0.10/zbar-0.10.tar.gz //官网下载所需编译的库,最好挂个vpn 否则可能出现域名解析失败 //解压进入源码 tar xvf zbar-0.10.tar.gz cd zbar-0.10 //安装依赖项 sudo apt-get install libqt4-dev apt-get install python-gtk2-dev sudo apt-get install imagemagick libmagickwand-dev apt-get install zbar-tools
在scanview中添加扫描区域 ZBarReaderViewController *reader = [ZBarReaderViewController new]; reader.readerDelegate = self; //CGRect frame= CGRectMake(20, 30, 320, 260); reader.scanCrop= CGRectMake(0.2, .1, .47, .8); 自定义scanview添加一个自定义的扫描框 - (UIView *)
一、zbar官方介绍 ZBar 是款桌面电脑用条形码/二维码扫描工具,支持摄像头及图片扫描,支持多平台,例如 iPhone,Andriod 手机,同时 ZBar封装了二维码扫描的 API 开发包。 具体主页:http://zbar.sourceforge.net/ 二、zbar的python安装 进入https://pypi.python.org/pypi/zbar,可以看到最新版本是0.10, 1、pip install zbar,出现c语言编译错误,没有找到zbar.h头文件(下图中红色字体部分) C:\Users\zou>pip install zbar Collecting zbar 简单翻译一下: a、python zbar安装方法:python setup.py install b、python zbar需要zbar reader,zbar reader可以从http://zbar.sourceforge.net /zbar/0.10/zbar-0.10-setup.exe ,下载后安装zbar reader执行程序 4、安装zbar reader,默认路径 C:\Program Files (x86)\ZBar
前面一篇文章已经说过zbar中QR的解码流程,现在这里主要介绍一些技术关键点和专注优化策略上的建议: 仿射变换:已知三个点:(x1,y1)、(x2,y2)、(x3,y3),原点为(x1,y1),映射到( to be detected and decoded successfully than the Sauvola or Gatos binarization methods./ 优化策略: 现有的zbar
一、zbar官方介绍 ZBar 是款桌面电脑用条形码/二维码扫描工具,支持摄像头及图片扫描,支持多平台,例如 iPhone,Andriod 手机,同时 ZBar封装了二维码扫描的 API 开发包。 具体主页:http://zbar.sourceforge.net/ 二、zbar的python安装 进入https://pypi.python.org/pypi/zbar,可以看到最新版本是0.10, 1、pip install zbar,出现c语言编译错误,没有找到zbar.h头文件(下图中红色字体部分) C:\Users\zou>pip install zbar Collecting zbar 简单翻译一下: a、python zbar安装方法:python setup.py install b、python zbar需要zbar reader,zbar reader可以从http://zbar.sourceforge.net /zbar/0.10/zbar-0.10-setup.exe ,下载后安装zbar reader执行程序 4、安装zbar reader,默认路径 C:\Program Files (x86)\ZBar
php-zbarcode 是PHP的一个图形条码识别扩展,同时也支持二维码识别,扩展依赖于 ImageMagick 和 ZBar 安装 安装ImageMagick yum install ImageMagick ImageMagick-devel 安装zbar wget -c http://jaist.dl.sourceforge.net/project/zbar/zbar/0.10/zbar-0.10.tar.bz2 tar jxvf zbar-0.10.tar.bz2 cd zbar-0.10 . /configure --without-gtk --without-python --without-qt --prefix=/usr/local/zbar ##禁止gtk,python和qt的支持 /configure --with-php-config=/usr/local/php74/bin/php-config --with-zbarcode=/usr/local/zbar/ make &
本篇文章就互联网上的一个开源解码算法zbar进行简单剖析。 源码可以在网上搜到,或者去github上clone到本地:Zbar/Zbar 流程图: 先上一个流程图: 算法流程介绍: 首先是算法的初始化,构造一个扫描器ImageScanner对象,并使用其set_config ()方法对扫描器进行初始化: ImageScanner scanner; // configure the reader scanner.set_config(ZBAR_NONE, ZBAR_CFG_ENABLE .config, ZBAR_CFG_ENABLE) && (sym = _zbar_decode_i25(dcode)) > ZBAR_PARTIAL) dcode->type if(TEST_CFG(dcode->qrf.config, ZBAR_CFG_ENABLE) && (sym = _zbar_find_qr(dcode)) > ZBAR_PARTIAL
php-zbarcode是PHP的一个图形条码识别扩展,同时也支持二维码识别,扩展依赖于ImageMagick 和ZBar。 安装ImageMagick yum install ImageMagick ImageMagick-devel 安装zbar wget -c http://jaist.dl.sourceforge.net /project/zbar/zbar/0.10/zbar-0.10.tar.bz2tar jxvf zbar-0.10.tar.bz2cd zbar-0.10. /configure --without-gtk --without-python --without-qt --prefix=/usr/local/zbar ##禁止gtk,python和qt的支持make /configure --with-php-config=/usr/local/php74/bin/php-config --with-zbarcode=/usr/local/zbar/make &&
上一篇推送中,小白成功的安装了能够解码QR二维码的开源库zbar,并且利用测试程序检测了安装的正确性,但是由于解码二维码只是项目中的一小部分,因此在实际的项目中我们必须自己编写程序,这样才能更好的将解码的功能结合主程序中 小白采用的方式是OpenCV+Zbar的方式实现二维码的解码,通过OpenCV加载图片,之后在进行解码工作。我们之前已经验证过zbar库成功安装,因此我们只需要在写程序的时候引用上就可以了。 (); ImageScanner scanner; scanner.set_config(zbar::ZBAR_NONE,zbar::ZBAR_CFG_ENABLE,1); Mat ::Image imageZbar(width, height, "Y800", raw, width * height); scanner.scan(imageZbar); zbar: 错误提示是说基本的函数不能使用,例如: zbar_image_scanner_t *scanner =zbar_image_scanner_create(); 提示说函数zbar_image_scanner_create
二维码识别 ltext = ocr_qrcode_zbar(filename) logger.info( u'[%s]Zbar二维码识别:[%s]!!!' %(filename,ltext)) print ltext 2、使用对比 1、zbar和zbarlight内核一致,都是基于zbar的dll编译加载的。 2、zbarlight使用比zbar更简单,不过是在zbar的基础又做了一点点封装而已。 4、网上有一些付费api,识别率也一般,怀疑也是基于zxing和zbar的二次封装。 综上,以识别能力排序,硬件>微信>支付宝>zxing>zbarlight(zbar)。
因此,通过各种查找,最后决定使用zbar库来实现解码。 首先需要下载和安装zbar库,网上有一些教程,不过大多数的教程都比较坑,安装的过程中也会出现各种问题,经过实践,结合自己实际情况,最终安装成功了。 //zbar.sourceforge.net/download.html,其中小白选用的是Source Code版本里面的第一个ZBar-0.10。 之后对其进行解压缩,使用的命令是: tar jxvf zbar-0.10.tar.bz2 安 装 解压缩后进入文件夹中,执行:. 自此我们已经完成了zbar库的安装,后续会继续更新如何使用这个二维码解码库。
> int main(int argc, char*argv[]) { zbar::ImageScanner scanner; scanner.set_config(zbar::ZBAR_NONE , zbar::ZBAR_CFG_ENABLE, 1); cv::VideoCapture capture; capture.open(0); //打开摄像头 cv::Mat image; 所以这个ZBar库需要怎么配置到我们的VS2017上并和opencv库一起使用呢? scanner ImageScanner scanner; // Configure scanner scanner.set_config(ZBAR_NONE, ZBAR_CFG_ENABLE 扫描仪 zbar::ImageScanner scanner; // 配置扫描仪 scanner.set_config(zbar::ZBAR_NONE, zbar::ZBAR_CFG_ENABLE