`
shappy1978
  • 浏览: 703009 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

zxing 源码解读日志 02

 
阅读更多

zxing并不适合于单图像识别,或者作者本来就把它作为视频识别来处理的。因为预处理的时候会强制缩放原始图像到一定的大小,作者没有提供比较合适的图片检测接口。又或者你必需预先设定好剪裁的区域。否则识别效果很差,难道是缩放致???

 

iPhone拍摄出来的图片居然是有方向的,晕哦。处理的时候要注意。

//************************************************************************************

基本完成阅读:

1 定位点判断不需要修改

2 实际上红色channel看起来反而对红色表格线隐藏效果更好,但是这个和打印效果、光源有太大关系,测试了一下,只取红色channel对数据读取有影响,作用不大,放弃。

3 或者应该比对一下zbar做一些比较,粗略看了一下,zbar的代码会更难看,因为基本都堆在一个文件中做解码。

4 有一个想法就是在每一次扫描中都把bit matrix叠加在某个数组中,做一个经验积累数组,再以此读取数据,这个几乎要推翻整个结构重写了,可能堆3G/3GS的成像比较模糊的情况会有所改善吧。

 

Shappy Say

2012/02/13

 

分享到:
评论
14 楼 ftp2010 2012-04-20  
我测试过zbar
正确识别率不够高
13 楼 liuxing_iphone 2012-03-12  
好了,当时5.0的设备是touch,可能是分辨率的问题,我刚弄了个4s,测试了一下,一切正常
12 楼 smking 2012-03-02  
多谢楼主的回复。 我再研究研究
11 楼 shappy1978 2012-03-01  
看起来你的静态库的编译方法有问题,估计是x86的,要编译真机用的一般是armv7,armv6,模拟器是i386,x86是mac系统用的都不同,编译的参数都不一样,看点怎么编译静态库的文章吧。
10 楼 shappy1978 2012-03-01  
zbar我真的没有编译过,他自己提供的静态库是可以在真机上用的。具体怎么编译还是google一下吧,zbar的代码只是大概看了一下功能架构,这个没能力帮你,暂时这个上面没怎么花时间去看了。
9 楼 smking 2012-03-01  
继续请教楼主:
我是这样编译生成这个liazbar.a文件的,
1。 make distclean
2。 编译.a文件 ./configure --disable-video --without-qt --without-python
3。 sudo make install

然后就生成了新的.a文件, 在zbar文件夹下的libs下的libzbar.a, 然后加入到项目中来, 就出现了下面的错误:
ld: warning: ignoring file /Users/he/Desktop/GoodVa/libzbar.a, file was built for archive which is not the architecture being linked (armv7)
Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_ZBarReaderView", referenced from:
      objc-class-ref in M_ScanDecodeViewController.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

1。 看错误提示像是说该文件不是在当armv7架构下生成的, 于是我换成模拟器, 还是提示该文件不是在i386架构下生成的。 那么这个文件到底是属于什么架构, 难道是Mac下的架构?
2。 如果我需要编译生成armv7下能使用的.a文件, 我应该怎么写./configure后面的参数呢?

楼主啊! 拉一下受苦受难的人民脱离苦海吧, 把你知道的分享一下吧。 谢了。
8 楼 smking 2012-02-29  
楼主:
经过一段时间的折腾, 我已经把 ZBar编译好生成一个新的libzbar.a文件, 然后放在项目中进行使用,但在项目编译时,却报下面的错误, 还请楼主帮忙分析分析。
错误如下:(这是真机编译时报的错误)
ld: warning: ignoring file /Users/he/Desktop/GoodVa/libzbar.a, file was built for archive which is not the architecture being linked (armv7)
Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_ZBarReaderView", referenced from:
      objc-class-ref in M_ScanDecodeViewController.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

在进行模拟器编译时报错和上面的一样, 只是armv7 变成了i386

我在想这个libzbar.a文件,在编译时也没有看到有什么命令啊, 麻烦楼主给指点一二。

不甚感激
    
7 楼 smking 2012-02-28  
楼主, 我把ZBar下载下来后, 编译始终不成功哇, 楼主能不能把编译ZBar的那个./Configure --disable XXX 啥的语句给帖出来。

另外, 我目前觉得ZBar在扫我上个回复中的图片时扫出乱码, 所以想去追踪ZBar的源码, 并修改之, 不知我的思路是否正确, 望楼主给予一些建议。

谢谢!
6 楼 smking 2012-02-27  
感谢楼主的回复

有两个疑问:
1. 对于ZXing扫一维码的问题, 随便拿一本书的封底的条形码, 用ZXing来扫, 发现扫不出来?
2. 用ZBar扫一些中文时出现乱码, 如:

而用ZXing来扫这个图片, 就可以扫出来, 其中的信息是中文的“中”字

还望楼主帮忙分析分析是什么原因? 有何良策
5 楼 shappy1978 2012-02-25  
4.0和5.0都试过,这方面没有区别。提示你用debug模式查看扫描不出的原因
4 楼 shappy1978 2012-02-25  
条码当然能表示中文了,无语。。。
zxing应该能扫一维码,但是一维码也有很多中格式,是否支持的格式比较少,这个没有实践过。据说zbar支持的格式多些,二维码比较流行的是QRCode,问题不大。
3 楼 smking 2012-02-23  
一起探讨一下ZBar和ZXing
2 楼 smking 2012-02-23  
       
看到斑竹的这篇文章后, 专门申请了这个帐号来请教斑竹。(并且等了一天才能在这里发言, 唉,不容易啊, 希望楼主能看到我的回复)

我在网上也尝试找过ZBar和ZXing的源码, 但没有找到, 楼主能发一份给我不? 多谢哈。 274019799@qq.com
(或者直接加我QQ, 号码:274019799)

另外问一下楼主在博文中提到ZXing读取中文条码乱码的文章, 令我百思不得其解。
1。条码应该是条形码,条形码能表示中文吗? 我的印象中好像都是些数字啥的。
2。据ZXing的官网上讲, ZXing应该是只能扫二维码,而不能扫一维码, 不知道是不是我哪里看错了, 还是需要进行什么样的设置
3。所以我猜测你可能是在扫二维码时,而这个二维码信息中含有中文才出现了这个问题, 所以请教一下什么样的二维码图片才会有乱码? 方便的话贴一个或者发一个二维码图片到我邮箱里吧?

                 
看了博主的文章,真的是让人万分钦佩,期待你的回复。
1 楼 liuxing_iphone 2012-02-17  
斑竹,问个问题,我用那个zxing在4.0的设备上目前可以正常的扫描条形码,但是在5.0的上面就不行,zxing我也没看出个所以然来,该怎么解决呀,给个提示,最好能给点代码,谢谢啊

相关推荐

    Zxing源码(3.3.4最新)

    1. **导入库**:根据所使用的开发环境(如Android Studio或Eclipse),将ZXing源码导入到项目中,或者通过依赖管理工具(如Gradle或Maven)添加ZXing库的依赖。 2. **配置权限**:对于Android应用,需要在...

    Android Zxing 源码修改

    本文将深入探讨如何在Android项目中修改Zxing源码,以解决中文乱码问题、从相册获取二维码图片进行解析、实现横屏到竖屏的切换以及添加闪光灯功能。 首先,解决中文乱码问题通常涉及到字符编码设置。在Zxing中,...

    zxing源码,包含编译好的lib

    这个压缩包包含ZXing的源码和预编译的库文件,这使得开发者可以直接使用库进行条形码相关的开发工作,而无需从零开始构建整个项目。 ZXing源码提供了丰富的API,支持多种编程语言,如Java、C#、Python等。源码中的...

    Android应用源码之ZXing示例源码和核心core包.zip

    **Android应用源码之ZXing解析** ZXing(Zebra Crossing)是一款开源的、多平台的条形码读取库,广泛应用于移动设备上。它提供了多种条形码和二维码的扫描、生成功能,包括QR码、Data Matrix、Aztec、UPC、EAN等。...

    安卓Android源码——ZXing示例源码和核心core包.zip

    这个压缩包包含了ZXing的核心库`core-2.2.jar`和针对Android平台的示例源码。 `core-2.2.jar`是ZXing的核心库,它包含了条码解码的关键算法和数据结构。这个库不依赖于任何特定的平台,可以在Java运行环境中使用。...

    zxing源码分析——DataMatrix码部分

    zxing 源码分析——DataMatrix 码部分 本文主要讲述了 zxing 源码中 DataMatrix 码部分的代码结构和解码流程。DataMatrix 码是一种二维码,zxing 是一个 Java 库,用于解析和生成各种二维码。 在 zxing 源码中,...

    Android使用的zxing相关jar包以及zxing源码

    - 如果对ZXing默认的扫描界面不满意,可以编译ZXing的源码,修改`CaptureActivity`以满足自己的UI设计需求。 - 你还可以实现自定义的扫描框、动画效果或处理扫描逻辑。 2. **功能扩展** - 对ZXing的源码进行修改...

    Ubuntu 上使用C++ zxing 识别二维码

    在ubuntu上安装cmake,然后使用cmake编译zxing源码测试 1.官网下载https://cmake.org/download/ cmake 2../bootstrap make -j8 sudo make install 3.查看安装是否成功 cmake --version 出现版本即可 4.解压zxing源码...

    Android 二维码扫描 ZXing源码

    本文将深入探讨ZXing源码,解析其在Android应用中的实现原理。 **一、ZXing简介** ZXing最初由Google开发,旨在提供一个通用的条形码和二维码解码框架。它支持多种编码格式,如QR码、Data Matrix、UPC、EAN等。...

    ZXing android版3.2源码

    这里我们主要关注的是ZXing的Android版3.2源码,这是一个专门针对Android平台优化的版本。 ZXing Android版3.2的源码包含了对Eclipse项目的适配,这意味着开发者可以直接在Eclipse集成开发环境中打开并编译该项目,...

    android zxing条码扫描源码

    《Android Zxing条码扫描源码解析》 在Android应用开发中,Zxing(又称为ZXing,意为“快速可扩展的二进制解码”)是一个强大的开源项目,专注于各种类型的条码扫描和生成。它提供了跨平台的库,使得开发者能够轻松...

    android zxing 二维码扫描源码

    在Android开发中,ZXing(Zebra Crossing)库是一个广泛使用的开源项目,它提供了条形码和二维码的扫描与生成功能。ZXing是Java编写的,但通过Android端的ZXing库,我们可以轻松地在Android应用中实现二维码扫描。本...

    zxing.net 最新源码 ZXing.Net-master

    在“ZXing.Net-master”这个压缩包中,包含的是ZXing.Net项目的最新源码,时间戳为2017年。这表明你拿到的是该项目在2017年的主分支(master)代码,通常意味着这是当时最稳定、功能最完整的版本。源码对于开发者来...

    zxing 3.0 jar 源码 含文档

    Zxing二维码扫描 zxing3.0源码

    Zxing 简化并打包的 源码 可以用于修改

    **Zxing 源码解析与使用** Zxing(又称为ZXing,读作“zebra crossing”,斑马线)是一个开源的、跨平台的条形码和二维码解码库。它支持多种编码格式,包括QR码、Data Matrix、Aztec、PDF417以及一维条形码如UPC、...

    源码集成ZxingDemo

    【源码集成ZxingDemo】是一个专为Android平台设计的项目,它展示了如何将Zxing开源库的源代码直接整合到你的应用中,而非通过预编译的JAR或者远程依赖来实现。这种方式的优点在于,开发者可以直接访问和修改Zxing的...

    zxing最新版本3.3.3源码

    总之,ZXing 3.3.3版本提供了强大的二维码扫描功能,并且源码开放,方便开发者深入理解其工作原理,进行二次开发和优化。无论是小型应用还是大型系统,ZXing都能作为可靠的条码处理工具,提升用户体验。

    zxing官方源码集成好的demo

    这里我们将深入探讨ZXing官方源码以及如何将其集成到Android项目中。 首先,我们来看一下`zxing-2.3.1`和`zxing-3.2.1`这两个版本。这两个版本间的差异主要体现在功能优化、性能提升以及对新条码格式的支持上。...

Global site tag (gtag.js) - Google Analytics