我已经用C++用OpenCV编写了一个图像处理例程。

现在,我正在将代码转换为Java,因为我比C++具有更多的Java技能。

我正在使用org.opencv.core.Scalar库中的Scalar数据类型。

在C++中,我能够像这样提取单个标量值

Scalar scalar = Scalar(1.0,2.0,3.0);
double value1 = scalar[0];

如果我在Java中执行此操作,则会收到错误“需要数组,但找到标量”。

如何在Java中从标量中获取单个值?

最佳答案

由于Scalars val字段是公共(public)的,因此您可以
double value1 = scalar.val[0];
尽管直接访问字段有点不寻常,但是它们在API中没有提供get方法,因此这是正确的方法。

Scalar

10-08 15:10