在 Flutter 中创建具有不同初始化值的类的多个实例

问题描述 投票:0回答:1

我正在使用这个包并创建其类 PixelMatching 的两个实例,它使用 dart ffi 和一些 C++ 代码来使用 open cv 执行特征匹配。我使用不同的源图像初始化这两个实例,并将其与我的相机输入进行比较。

但是,两个实例最终都在比较中使用第一张图像。

这里是我用两个不同图像初始化匹配的地方。 initializing the instances

这是函数的一部分,我在其中调用方法来将图像与相机流进行比较。这两个实例交替调用,在一帧中调用第一个实例,在下一帧中调用第二个实例。 calling the methods

我是否以错误的方式创建了类?我不明白为什么两个实例不能保持不同的状态。

android flutter opencv oop
1个回答
0
投票

您需要首先在第一个实例上调用

dispose()

然后使用另一个。

final matching = PixelMatching();
// setup target image
await matching?.initialize(image: image);
// compare image 
final double? similarity = await matching?.similarity(cameraImage);
// dispose
matching?.dispose();
© www.soinside.com 2019 - 2024. All rights reserved.