将指向C ++的数组转换为Java(OpenCV)

时间:2014-02-06 22:55:30

标签: java c++ opencv

我正在将使用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);

2 个答案:

答案 0 :(得分:4)

除非我今天误解了我的指针,否则c ++代码中的第二行会复制范围指针,因此它们都指向同一对值。你想要的Java应该是:

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

答案 1 :(得分:0)

感谢您的帮助,我设法让它发挥作用。这个问题是在OpenCV的背景下(对不起,如果我没有说清楚)。代码:

//Set of ranges
float ranges[] = {0,256};
MatOfFloat histRange = new MatOfFloat(ranges);