`
shappy1978
  • 浏览: 679179 次
  • 性别: 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我也没看出个所以然来,该怎么解决呀,给个提示,最好能给点代码,谢谢啊

相关推荐

Global site tag (gtag.js) - Google Analytics