Zbar源码解析——zbar_oho_条形码阅读器|2021SC@SDUSC

Zbar源码之Sample与Library解析
本文详细解析了Zbar条形码阅读器的Sample和Library部分。Sample部分介绍了如何创建Camera对象、绑定Surface、开启帧捕获以及扫描数据的过程。Library部分则讲解了将相机原始数据封装为Image数据和对Image数据进行扫描的原理,涉及图像灰度处理和Z字型扫描解码方法。

2021SC@SDUSC

Sample解析  

        Sample部分首先创建相机设备并合理配置,然后将相机获得的原始数据传递给Library扫描处理,最后获取扫描结果并显示在屏幕上。下面对Sample部分的代码进行具体解释:

       1、生成Camera类对象

       CameraKit类可以提供使用相机功能的条目,CameraStateCallbackImpl 类是相机创建和相机运行时的回调。此处通过CameraKit类来生成Camera对象,不同寻常的是,CameraKit类并没有将Camera对象直接返回,而是需要从CameraStateCallbackImpl 回调中获取。

private void openCamera(){
    // 获取 CameraKit 对象
    cameraKit = CameraKit.getInstance(this);
    if (cameraKit == null) {
        return;
    }
    try {
        // 获取当前设备的逻辑相机列表cameraIds
        String[] cameraIds = cameraKit.getCameraIds();
        if (cameraIds.length <= 0) {
            System.out.println("cameraIds size is 0");
        }
        // 用于相机创建和相机运行的回调
        CameraStateCallbackImpl cameraStateCallback = new CameraStateCallbackImpl();
        if(cameraStateCallback ==null) {
            System.out.pr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值