我正在使用这个包并创建其类 PixelMatching 的两个实例,它使用 dart ffi 和一些 C++ 代码来使用 open cv 执行特征匹配。我使用不同的源图像初始化这两个实例,并将其与我的相机输入进行比较。
但是,两个实例最终都在比较中使用第一张图像。
这是函数的一部分,我在其中调用方法来将图像与相机流进行比较。这两个实例交替调用,在一帧中调用第一个实例,在下一帧中调用第二个实例。
我是否以错误的方式创建了类?我不明白为什么两个实例不能保持不同的状态。
您需要首先在第一个实例上调用
dispose()
。
然后使用另一个。
final matching = PixelMatching();
// setup target image
await matching?.initialize(image: image);
// compare image
final double? similarity = await matching?.similarity(cameraImage);
// dispose
matching?.dispose();