android - 使用颤振进行实时图像处理
问题描述
我有一个项目,我将使用 Flutter 开发一个应用程序。该应用程序需要人脸识别和实时图像处理。它类似于 Instagram 故事,应用程序可以实时修改图像,例如更改背景或覆盖一些文本等。
我只想问有没有办法做到这一点?或者如果有,我可以使用哪些东西(库、指南或先决条件)来开发此类应用程序。我已经在谷歌上搜索了,但我得到的结果很少,而且它们对我来说有点难以理解或难以理解。
解决方案
由于 Flutter 有点新,它仍然没有固定的方式来执行实时图像处理。如果你只需要使用 firebase ML vision,你可以使用这个插件: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主要活动中:
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
推荐阅读
- r - 根据上一个日期后不到 4 周的日期更改 ggplot2 点颜色
- python - 如何创建 Drawer 实例并将其附加到 MainWindow
- r - 有没有办法使用 R 打破图表轴并打破线性回归线?
- awk - 在一列中查找重复,然后在另一列中减去值
- ubuntu - Ubuntu 18.4 下 DOSBox 出现方形图形错误
- azure - Azure 持久计时器练习永远不会超时
- common-lisp - 声明检查类型之间的 Common Lisp 区别
- function - 自定义 max_pool 层:ValueError:应定义输入的通道维度。找到`无`
- angular - TypeScript 区分大小写吗?
- amazon-web-services - 如何阻止 s3fs 删除添加到已安装 S3 存储桶的文件