我正在将C++中的OpenCV中的功能转换为Java。 Link.

我对C++不太了解,因此很难转换此部分:

/// Set the ranges ( for B,G,R) )
float range[] = { 0, 256 } ; //the upper boundary is exclusive
const float* histRange = { range };

这是我到目前为止所拥有的:
//Set of ranges
float ranges[] = {0,256};
final float histRange = {ranges};

编辑:

感谢您的帮助,我已经设法使其正常运行。这个问题是在OpenCV的背景下进行的(抱歉,如果我不清楚的话)。码:
//Set of ranges
float ranges[] = {0,256};
MatOfFloat histRange = new MatOfFloat(ranges);

最佳答案

除非今天我对指针有误,否则C++代码中的第二行将复制range指针,因此它们都指向同一对值。您在Java中想要的是:

float ranges[] = {0,256};
final float histRange[] = ranges;

关于java - 将C++中的数组指针转换为Java(OpenCV),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21615880/

10-10 07:11