boxFilter static method

Future<Uint8List?> boxFilter({
  1. required CVPathFrom pathFrom,
  2. required String pathString,
  3. required int outputDepth,
  4. required List<double> kernelSize,
  5. required List<double> anchorPoint,
  6. required bool normalize,
  7. required int borderType,
})

Implementation

static Future<Uint8List?> boxFilter({
  required CVPathFrom pathFrom,
  required String pathString,
  required int outputDepth,
  required List<double> kernelSize,
  required List<double> anchorPoint,
  required bool normalize,
  required int borderType,
}) async {
  File _file;
  Uint8List _fileAssets;

  Uint8List? result;

  int borderTypeTemp = Utils.verBorderType(borderType);

  List<double> kernelSizeTemp = Utils.verKernelSize(kernelSize);
  int outputDepthTemp = (outputDepth <= 0)
      ? (outputDepth == 0)
          ? -1
          : outputDepth
      : -1 * outputDepth;

  switch (pathFrom) {
    case CVPathFrom.GALLERY_CAMERA:
      result = await platform.invokeMethod(
        'boxFilter',
        {
          "pathType": 1,
          'pathString': pathString,
          "data": Uint8List(0),
          'outputDepth': outputDepthTemp,
          'kernelSize': kernelSizeTemp,
          'anchorPoint': anchorPoint,
          'normalize': normalize,
          'borderType': borderTypeTemp,
        },
      );
      break;
    case CVPathFrom.URL:
      _file = await DefaultCacheManager().getSingleFile(pathString);
      result = await platform.invokeMethod(
        'boxFilter',
        {
          "pathType": 2,
          "pathString": '',
          "data": await _file.readAsBytes(),
          'outputDepth': outputDepthTemp,
          'kernelSize': kernelSizeTemp,
          'anchorPoint': anchorPoint,
          'normalize': normalize,
          'borderType': borderTypeTemp,
        },
      );

      break;
    case CVPathFrom.ASSETS:
      _fileAssets = await Utils.imgAssets2Uint8List(pathString);
      result = await platform.invokeMethod(
        'boxFilter',
        {
          "pathType": 3,
          "pathString": '',
          "data": _fileAssets,
          'outputDepth': outputDepthTemp,
          'kernelSize': kernelSizeTemp,
          'anchorPoint': anchorPoint,
          'normalize': normalize,
          'borderType': borderTypeTemp,
        },
      );
      break;
  }
  return result;
}