Documentation
Table of contents

Thanks for downloading Dynamsoft Label Recognizer Package!

Your download will start shortly. If your download does not begin, click here to retry.

MRZ Scanner Sample

MRZScanner sample shows you how to develop with Dynamsoft Label Recognizer to create a simple app to scan machine-readable zome (MRZ).

View the sample:

In the MRZScanner sample, we include an additional library MRZLib, which is developed from Dynamsoft Label Recognizer. MRZ models or parameters are preset in the library. As a result, you don’t need to add additional settings.

The following APIs are available in the MRZScanner sample

  • MRZRecognizer: The class extended from DynamsoftLabelRecognizer.
  • MRZResult: The class that stores MRZ result information. When using MRZLib, you can obtain MRZResult as the output of the library instead of DLRResult.
  • MRZResultListener: The listener to handle callbacks when MRZ results are returned.

How to use MRZLib

Setup Camera Module

In this sample, we use Dynamsoft Camera Enhancer to set up the camera module and capture video frames.

public class ScanFragment extends Fragment {
   private DCECameraView mCameraView;
   private CameraEnhancer mCamera;
   @Override
   public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
      mCameraView = view.findViewById(R.id.dce_camera_view);
      mCamera = new CameraEnhancer(requireActivity());
      mCamera.setCameraView(mCameraView);
   }
}

Initialize MRZ Recognizer and Bind the Camera Module

Create an instance of MRZRecognizer. Use the method setImageSource to bind the MRZRecognizer and the camera module you created. After that, the instance of MRZRecognizer will be able to obtain video frames from the camera continuously.

public class ScanFragment extends Fragment {
   ...
   private MRZRecognizer mMRZRecognizer;
   @Override
   public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
      ...
      try {
         mMRZRecognizer = new MRZRecognizer();
      } catch (LabelRecognizerException e) {
         e.printStackTrace();
      }
      // Use setImageSource to bind MRZRecognizer with the camera enhancer.
      // You can also implement the interface ImageSource by yourself.
      mMRZRecognizer.setImageSource(mCamera);
   }
}

Obtain Results

Use setMRZResultListener to Register a MRZResultListener. Trigger startScanning. So that you can obtain the MRZ results from mrzResultCallback.

public class ScanFragment extends Fragment {
   ...
   private MRZRecognizer mMRZRecognizer;
   @Override
   public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
      mMRZRecognizer.setMRZResultListener(new MRZResultListener() {
         @Override
         public void mrzResultCallback(int i, ImageData imageData, MRZResult mrzResult) {
            // Implement mrzResultCallback
         }
      });
   }

   @Override
   public void onResume() {
      super.onResume();
      if (!isShowing) {
         mMRZRecognizer.startScanning();
         try {
               mCamera.open();
         } catch (CameraEnhancerException e) {
               e.printStackTrace();
         }
      }
   }
}

This page is compatible for:

Version 7.5.0

Is this page helpful?

YesYes NoNo

In this article:

latest version

  • Latest version (3.2.30)
  • Version 3.x
    • Version 3.0.20
  • Version 2.x
    • Version 2.2.20
    • Version 2.0.0
  • Version 1.x
    • Version 1.2.1
    • Version 1.2.0
    • Version 1.0.0
Change +
© 2003–2024 Dynamsoft. All rights reserved.
Privacy Statement / Site Map / Home / Purchase / Support