Table of contents
Swift
Objective-C

Read from a Specific Area

Set a Scan Region on Camera

  • Java
  • Kotlin
  1. CameraView cameraView = findViewById(R.id.camera_view);
    CameraEnhancer mCamera = new CameraEnhancer(cameraView, this);
    try {
       mCamera.setScanRegion(new DSRect(0.15f, 0.25f, 0.85f, 0.65f, true));
    } catch (CameraEnhancerException e) {
       throw new RuntimeException(e);
    }
    
  2. val cameraView = findViewById<CameraView>(R.id.camera_view)
    val mCamera = CameraEnhancer(this)
    mCamera.scanRegion = DSRect(0.15f, 0.25f, 0.85f, 0.65f, true)
    

Related APIs

Set an ROI via Simplified Settings

Simplified Settings are only available for the Foundational APIs.

  • Java
  • Kotlin
  1. CaptureVisionRouter mRouter = new CaptureVisionRouter();
    try {
       SimplifiedCaptureVisionSettings captureVisionSettings = mRouter.getSimplifiedSettings(EnumPresetTemplate.PT_READ_BARCODES);
       Quadrilateral roiQuad = new Quadrilateral();
       roiQuad.points[0] = new Point(15,30);
       roiQuad.points[1] = new Point(85,30);
       roiQuad.points[2] = new Point(85,70);
       roiQuad.points[3] = new Point(15,70);
       captureVisionSettings.roi = roiQuad;
       captureVisionSettings.roiMeasuredInPercentage = true;
       mRouter.updateSettings(EnumPresetTemplate.PT_READ_BARCODES, captureVisionSettings);
    } catch (CaptureVisionRouterException e) {
       e.printStackTrace();
    }
    
  2. val mRouter: CaptureVisionRouter? = CaptureVisionRouter()
    try {
       val captureVisionSettings = mRouter.getSimplifiedSettings(EnumPresetTemplate.PT_READ_BARCODES)
       val roiQuad = Quadrilateral()
       roiQuad.points[0] = Point(15, 30)
       roiQuad.points[1] = Point(85, 30)
       roiQuad.points[2] = Point(85, 70)
       roiQuad.points[3] = Point(15, 70)
       captureVisionSettings.roi = roiQuad
       captureVisionSettings.roiMeasuredInPercentage = true
       mRouter.updateSettings(EnumPresetTemplate.PT_READ_BARCODES, captureVisionSettings)
    } catch (e: CaptureVisionRouterException) {
       e.printStackTrace()
    }
    

Set ROIs in Customized Template

Define a single ROI:

{
   "CaptureVisionTemplates": [
      {
            "Name" : "CV_0",
            "ImageROIProcessingNameArray": ["barcode-decoding-roi-1" ]
      }       
   ],
   "TargetROIDefOptions" : [
      {
         "Name" : "barcode-decoding-roi-1",
         "TaskSettingNameArray": ["barcode-decoding-task-1"],
         "Location": 
         {
            "Offset": {
               "MeasuredByPercentage" : 1,
               "FirstPoint" : [ 15, 30 ],
               "SecondPoint" : [ 85, 30 ],
               "ThirdPoint" : [ 85, 70 ],
               "FourthPoint" : [ 15, 70 ],
            }
         }
      }
   ]
}

You can define multiple ROIs in TargetROIDefOptions. For each ROI, you can assign a different task or reuse the same task.

{
   "CaptureVisionTemplates": [
      {
            "Name" : "CV_0",
            "ImageROIProcessingNameArray": ["barcode-decoding-roi-1","barcode-decoding-roi-2" ]
      }       
   ],
   "TargetROIDefOptions" : [
      {
         "Name" : "barcode-decoding-roi-1",
         "TaskSettingNameArray": ["barcode-decoding-task-1"],
         "Location": 
         {
            "Offset": {
               "MeasuredByPercentage" : 1,
               "FirstPoint" : [ 15, 20 ],
               "SecondPoint" : [ 85, 40 ],
               "ThirdPoint" : [ 85, 40 ],
               "FourthPoint" : [ 15, 20 ]
            }
         }
      },{
         "Name" : "barcode-decoding-roi-2",
         "TaskSettingNameArray": ["barcode-decoding-task-1"],
         "Location": 
         {
            "Offset": {
               "MeasuredByPercentage" : 1,
               "FirstPoint" : [ 15, 60 ],
               "SecondPoint" : [ 85, 80 ],
               "ThirdPoint" : [ 85, 80 ],
               "FourthPoint" : [ 15, 60 ]
            }
         }
      }
   ]
}

This page is compatible for: