j***@163.com
j***@163.com
  • 发布:2019-03-11 15:59
  • 更新:2019-09-25 14:49
  • 阅读:1573

hublider 从相册中选择图片扫码条形码无法成功,是内核处理有问题吧,图像像素质量问题还是fliter被写死了?

分类:HBuilder

从相册中选择图片 已经添加了filter = [plus.barcode.CODE128]的情况下怎么扫都无法成功!

        function scanPicture() {  
            //识别格式设定  
            var filter = [plus.barcode.CODE128,plus.barcode.CODE39,plus.barcode.CODE93,plus.barcode.CODABAR];  
            plus.gallery.pick(function(path) {  
                plus.barcode.scan(path, onmarked, function(error) {  
                    plus.nativeUI.alert('无法识别此图片' path);  
                },filter);  
            }, function(err) {  
                plus.nativeUI.alert('Failed: '   err.message);  
            });       
        }  

直接扫描添加的是同样的fliter却可以成功,从原理上也说不过去啊,你们能检查一下相册中选择的情况下 内核参数设置是不是有什么问题,是不是接收不了传入的fliter这个参数,被写死了?

谢谢!

2019-03-11 15:59 负责人:无 分享
已邀请:
j***@163.com

j***@163.com (作者)

有人能帮忙看看吗?

Trust

Trust - 少说废话

上传下识别不了的那张图,方便测试下。

  • j***@163.com (作者)

    刚上传的这个图

    2019-03-12 20:18

  • j***@163.com (作者)

    有三张图可以测试,应该是内部处理机制有问题,这样的内部没有开放给我们来微调,还是不太方便调试啊。请帮忙看一下内部是不是图像预处理方面需要动一动?!

    2019-03-13 08:37

  • j***@163.com (作者)

    之前你们说如果有更好的可以推荐一下,其实zbar挺好的,可以考虑使用zbar替代zxing进行本地图片识别。

    2019-03-13 09:17

j***@163.com

j***@163.com (作者)


这个图

j***@163.com

j***@163.com (作者)


基本可以证明从相册选择识别条形码内部处理机制有问题,试了一下上图这个“纯净”的条码从相册选择时可以识别。

但是不改变大小直接附加到上一张图里再从相册选择就无法识别。如下图

j***@163.com

j***@163.com (作者)


只是把图片背景色换一下,从相册选择的情况下只有第一个白色背景色可以识别,后面两个就都不可以。

又试了一下这个可能是另一种原因了,后两个直接扫描图片也识别不了。。。。

j***@163.com

j***@163.com (作者)

请帮忙看下吧,谢谢。

Trust

Trust - 少说废话

目前的库识别能力没有这么强,后续调研下是否有更佳的方案进行强化。

  • j***@163.com (作者)

    最近一段时间了解了一下,问题出在zxing直接摄像头识别时是进行了YUV处理的,而从相册选取时却没有进行转RGB2YUV处理,所以会出现摄像头可以秒识别,而选择图片却无法识别问题。具有转换可以参考https://www.cnblogs.com/exmyth/p/5123965.html和 https://blog.csdn.net/up1up2up3/article/details/8108902

    2019-03-31 17:07

7***@qq.com

7***@qq.com - mvp

请问在vue中怎么解决这个问题 啊

该问题目前已经被锁定, 无法添加新回复