Как сканировать штрих-код с помощью API Google Vision - PullRequest
0 голосов
/ 31 мая 2018

Я пытался сканировать штрих-код с помощью API goggle vision, но не могу, чтобы мое приложение правильно сканировало qr-коды, но когда фокусируясь на штрих-коде, он не может определить это, мой кусок кода предлагает мне:

    camerapreview = (SurfaceView) findViewById(R.id.camerapreview);

    barcodeDetector = new BarcodeDetector.Builder(this)
            .setBarcodeFormats(Barcode.DATA_MATRIX | Barcode.QR_CODE)
            .build();
    if (!barcodeDetector.isOperational()) {
        Toast.makeText(Scanner.this, "Could not set up the detector! Update google play services", Toast.LENGTH_LONG).show();
        return;
    }
    cameraSource = new CameraSource
            .Builder(this, barcodeDetector)
            .setRequestedPreviewSize(640, 480)
            .build();

    //add event
    camerapreview.getHolder().addCallback(new SurfaceHolder.Callback() {
        @Override
        public void surfaceCreated(SurfaceHolder holder) {


            try {
                cameraSource.start(camerapreview.getHolder());
            } catch (IOException e) {
                e.printStackTrace();
            }

        }

        @Override
        public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {

        }

        @Override
        public void surfaceDestroyed(SurfaceHolder holder) {

            cameraSource.stop();

        }
    });



    barcodeDetector.setProcessor(new Detector.Processor<Barcode>() {
        @Override
        public void release() {
            try {
                cameraSource.start(camerapreview.getHolder());
            } catch (IOException e) {
                e.printStackTrace();
            }


        }
     ....................

приложение прекрасно сканирует qr-коды, но не может обнаружить штрих-коды, я не могу заставить его работать, помогите

1 Ответ

0 голосов
/ 27 марта 2019

Вам необходимо установить принятые форматы, чтобы включить «Штрих-код».

Конкретные коды для изменения:

barcodeDetector = new BarcodeDetector.Builder(this)
        .setBarcodeFormats(Barcode.ALL_FORMATS)
        .build();

Заменить Barcode.DATA_MATRIX | Barcode.QR_CODE на Barcode.ALL_FORMATS

...