openFile method

void openFile(
  1. String onnxPath,
  2. {int envId = ailia_dart.AILIA_ENVIRONMENT_ID_AUTO,
  3. int memoryMode = ailia_dart.AILIA_MEMORY_OPTIMAIZE_DEFAULT,
  4. int networkImageFormat = ailia_dart.AILIA_NETWORK_IMAGE_FORMAT_BGR,
  5. int networkChannelFormat = ailia_dart.AILIA_NETWORK_IMAGE_CHANNEL_FIRST,
  6. int networkImageRange = ailia_dart.AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_INT8,
  7. int algorithm = ailia_dart.AILIA_DETECTOR_ALGORITHM_YOLOX,
  8. int numCategory = 80,
  9. int flags = ailia_dart.AILIA_DETECTOR_FLAG_NORMAL,
  10. int inputWidth = 640,
  11. int inputHeight = 640}
)

Implementation

void openFile(String onnxPath,
    {int envId = ailia_dart.AILIA_ENVIRONMENT_ID_AUTO,
    int memoryMode = ailia_dart.AILIA_MEMORY_OPTIMAIZE_DEFAULT,
    int networkImageFormat = ailia_dart.AILIA_NETWORK_IMAGE_FORMAT_BGR,
    int networkChannelFormat = ailia_dart.AILIA_NETWORK_IMAGE_CHANNEL_FIRST,
    int networkImageRange =
        ailia_dart.AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_INT8,
    int algorithm = ailia_dart.AILIA_DETECTOR_ALGORITHM_YOLOX,
    int numCategory = 80,
    int flags = ailia_dart.AILIA_DETECTOR_FLAG_NORMAL,
    int inputWidth = 640,
    int inputHeight = 640}) {
  close();
  model = AiliaModel();
  model!.openFile(onnxPath, envId: envId, memoryMode: memoryMode);

  ppDetector = malloc<Pointer<ailia_dart.AILIADetector>>();

  int status = model!.ailia.ailiaCreateDetector(
      ppDetector,
      model!.ppAilia!.value,
      networkImageFormat,
      networkChannelFormat,
      networkImageRange,
      algorithm,
      numCategory,
      flags);
  if (status != ailia_dart.AILIA_STATUS_SUCCESS) {
    throw Exception("ailiaCreate failed $status");
  }

  status = model!.ailia
      .ailiaDetectorSetInputShape(ppDetector!.value, inputWidth, inputHeight);
  if (status != ailia_dart.AILIA_STATUS_SUCCESS) {
    throw Exception("ailiaDetectorSetInputShape failed $status");
  }

  available = true;
}