我想将C++代码重写为Java。我正在使用OpenCV4Android。 C++中的代码看起来像这样

{
    double meanI = 0.0;
    {
        Mat tmp;
        pow(abs(I), alpha, tmp);
        meanI = mean(tmp).val[0];

    }
    I = I / pow(meanI, 1.0/alpha);
}

{
    double meanI = 0.0;
    {
        Mat tmp;
        pow(min(abs(I), tau), alpha, tmp);
        meanI = mean(tmp).val[0];
    }
    I = I / pow(meanI, 1.0/alpha);
}

我不知道如何从像这样的OpenCV Mat对象做腹肌
abs(I)

我不知道如何将矩阵和双数相除:
I = mat/double

请帮我

最佳答案

您可以在Java中使用等效项。
代替B = abs(A),您可以使用:

Core.absdiff(A, Scalar.all(0), B);

关于按元素划分,您可以使用Core.divide()
Core.divide(A,Scalar.all(d), B);

相当于B = A / d

08-04 20:10