Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jenly: ⚠注意!提交新的 Issues 时, 请看这里🌷🌷🌷 #69

Open
jenly1314 opened this issue Nov 28, 2019 · 13 comments
Open

Comments

@jenly1314
Copy link
Owner

jenly1314 commented Nov 28, 2019

README中描述ZXingLite的几种集成方式,在App中都有对应的集成源码示例。所以出现问题,最好先参考 源码示例

1. 遇到问题,该怎么做?

请先分析下问题原因,确认这个 Issues 是否有解决方案。
自己可能分析不出具体原因或无法解决,需要获得帮助,请看下面一条。

2. 需要获得帮助,提交新的Issues

在提交 Issues时,提供的信息尽可能的详细,包括但不限于:手机型号、系统版本、问题描述、截图、等等。如果是异常信息,请最好提供相关的日志信息。这样我才方便查找和定位原因。

3. 有好的建议或希望支持新功能

ZXingLite 目前正在做 意见收集,您有什么好的建议和希望增加什么功能,都可以直接点击 意见收集 反馈给我。我会抽空,评估后,考虑在下一个版本去优化或实现目前没有的功能。

有什么问题也可以直接进群 QQGroup 咨询与交流,反馈更及时。

下面是一些集成时,可能出现的问题

  1. 集成后,扫码界面黑屏问题

扫码界面黑屏的原因,一般是因为 Camera动态权限 问题或集成步骤不对导致。相关步骤请参考 源码示例

  1. 扫码界面预览变形问题

扫码界面预览变形,一般是因为扫码界面的预览布局没有全屏铺满,导致界面预览宽高比例与Camera预览的宽高比例不一致导致。

  1. 部分二维码/条形码扫码识别慢或无法识别问题

影响二维码/条形码识别的因素有很多,包括但不限于:硬件、软件、环境等因素。
a. 硬件:主要指:手机、平板等等。
b. 软件:扫码识别;这里主要指从扫码到识别的一个过程,中间包括编解码处理和算法等等。
c. 环境:扫码环境;主要包括:光线、亮度、二维码/条形码码的清晰度和规范性问题。
在这里主要讲到软件因素和环境因素,因为这二者是根据实际场景来的,是秘密相关,不可完全分开的。

ZXingLite 的核心识别功能是基于 zxing, ZXingLite 的主要目的是:优化从扫码到识别这中间的过程。在简化集成步骤的同时,尽可能的保证识别率不是因为中间的过程而受到影响,为zxing提供最想要的识别数据,从而间接的提升识别速度与识别率。努力的去完善扫码相关功能。
ZXing对于常规的的二维码识别率还是比较高的,但是对于一些特殊不符合规范的二维码可能就会无法识别。如上面列出的一些客观原因。
如果你只是基本扫码的需求,ZXingLite完全能满足你。如果你对扫码有着比较严格或者更加苛刻的要求,比如:变形码,比例不规范的码,一张复杂的大图上有个很小的码等场景,ZXingLite可能并不能完全满足你的需求。你可以尝试使用 MLKit中的mlkit-barcode-scanningmlkit-barcode-scanning 的识别率相对来说会更高。

@jenly1314 jenly1314 pinned this issue Nov 28, 2019
@jenly1314 jenly1314 changed the title Jenly: 注意!提交新的 Issues 时, 请看这里>>> Jenly: ⚠注意!提交新的 Issues 时, 请看这里🌷🌷🌷 Nov 29, 2019
@jenly1314
Copy link
Owner Author

jenly1314 commented Nov 29, 2019

在扫码领域,微信扫码和支付宝扫码大家一听就知道。请看下面的一段对白场景:

产品:为什么微信扫码和支付宝扫码都秒能识别,你这有些不能识别?
开发:。。。

  • 微信扫码和支付扫码在二值化算法和针对变形都做了相对应的优化处理。
  • 如果你对扫码识别有更高的要求,zxing或许无法满足你的需求,你可以选择使用 MLKitWeChatQRCode

@qqiabc521
Copy link

有不少二维码是黑底白字,目前都无法扫码成功,能否对黑底白字在扫描时,自动进行反色处理进行扫码?

@JefferyHoo
Copy link

目前生成的二维码不支持设置颜色

@iOrchid
Copy link

iOrchid commented Dec 23, 2019

建议,将CaptureActivity的super类改为AppcompatActivity,而不是Activity,可以实现向下兼容,以及lifeCycle。

@jenly1314
Copy link
Owner Author

jenly1314 commented Dec 26, 2019

建议,将CaptureActivity的super类改为AppcompatActivity,而不是Activity,可以实现向下兼容,以及lifeCycle。

可以的,下个版本改成AppcompatActivity

jenly1314 pushed a commit that referenced this issue Dec 27, 2019
@delaiwen-hgh
Copy link

建议提供设置激光扫描线宽度的属性, 目前只能设置激光线高度,宽度被固定成距离边框为高度的2倍,希望宽度能由开发者设置。

@Lightning627
Copy link

在继承的Activity的onCreate里写getCaptureHelper().tooDarkLux(9999f);好像没有效果,我想让闪光灯按钮一直显示

Repository owner deleted a comment from huangn-hn Apr 2, 2020
@halohoop
Copy link

建议考虑看看能否支持暴露图像处理的接口,增加识别前的自定义处理,比如变形、反相等~
抽象流程:摄像头获取的图像数据--->抽象处理--->识别模块,将”抽象处理“的入参出参定义好,并且提供默认的处理操作,比如上面说的变形,反相等;

@jenly1314
Copy link
Owner Author

建议考虑看看能否支持暴露图像处理的接口,增加识别前的自定义处理,比如变形、反相等~
抽象流程:摄像头获取的图像数据--->抽象处理--->识别模块,将”抽象处理“的入参出参定义好,并且提供默认的处理操作,比如上面说的变形,反相等;

  • 目前的做法是:尽量对外暴露一些参数,去控制处理流程。在简化集成步骤的同时,保证一些可自定义性。 你这个建议很好,后续可以考虑再抽象一部分。
  • 后续有个将zxing库升级至v3.3.4的计划,并要求使用Android API 21 ,所以版本变动可能相对会大一点,虽然可能会不完全兼容ZXing Lite之前的用法,但要尽量的保证用法和之前的版本没有大的改变。

@DennisJu007
Copy link

DennisJu007 commented Jul 28, 2020

1、扫码框显示位置能不能开放给开发者自定义显示位置
2、ViewfinderView别搞成final的想真正自定义的view都搞不了等你们发版太慢了
3、如何以lib的方式集成到Android里面

@jenly1314
Copy link
Owner Author

ZXingLite 2.0 开发版已经开发了一部分,还未完成。因为最近比较忙,打断了开发发布计划,所以具体发布版本时间待定。不妨趁着这段时间,在没发布之前,你什么想法或问题都可以提交到 意见收集 中 ,我会抽空整理后,在后续的版本中支持或完善相关功能。

@llllonger
Copy link

二维码有的手机有很大的白色边距,这个怎么设置

@woodboard
Copy link

设置摄像头预览画面旋转之后无反应
public class WatchGuideCameraConfig extends ResolutionCameraConfig {
public WatchGuideCameraConfig(Context context, int imageQuality) {
super(context, imageQuality);
}

@NonNull
@Override
public Preview options(@NonNull Preview.Builder builder) {
    builder.setTargetRotation(Surface.ROTATION_270);
    return super.options(builder);
}

}

    mCameraScan = DefaultCameraScan(this, mBind.previewView)
    mCameraScan.setOnScanResultCallback(this)
        .setAnalyzer(MultiFormatAnalyzer(decodeConfig))
        .setVibrate(true)
        .setCameraConfig(
            WatchGuideCameraConfig(
                this,
                ResolutionCameraConfig.IMAGE_QUALITY_1080P
            )
        )
        .startCamera()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants