使用 flutter 进行实时图像处理

Live image processing using flutter

我有一个项目,我将在其中开发一个使用 Flutter 的应用程序。该应用程序需要人脸识别和实时图像处理。它类似于 Instagram 故事,应用程序可以实时修改图像,例如更改背景或覆盖一些文本等。

我就想问问有没有办法做到这一点?或者如果有,我可以使用哪些东西(库、指南或先决条件)来开发这样的应用程序。我已经在 google 上搜索了,但我只得到了很少的结果,而且它们对我来说都有点难以理解或难以理解。

由于flutter比较新,目前还没有一个固定的实时图像处理方式。如果你只需要使用 firebase ML 视觉,你可以使用这个插件:https://pub.dev/packages/firebase_livestream_ml_vision

但是,如果您需要更具体的内容,我建议您使用方法通道和 运行 一些特定于平台的代码。特别是,如果您正在为 android 开发,我建议您看一下 CameraX 库。

我给你举个例子,说明我是如何用它来检索条形码的

void _launchCameraX(BuildContext context) async {
    String result = await MethodChannel("CAMERA_X").invokeMethod('SCAN');
    Navigator.push(
      context,
      MaterialPageRoute(
        builder: (context) => NewPage(result),
      ),
 );

在android主activity:

 private final static String CAMERA_X_CHANNEL = "CAMERA_X";

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getComponents();
        setUpResultsHandlers();
        new MethodChannel(getFlutterView(), CAMERA_X_CHANNEL).setMethodCallHandler((call, result) -> {
            if (call.method.equals(SCAN_METHOD)) {
                Intent intent = new Intent(this, ScannerActivity.class);
                this.result = result;
                startActivityForResult(intent, qrRequestCode);
            }
        });
        GeneratedPluginRegistrant.registerWith(this);
    }

//然后我使用相机 X