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

Converting a pointer to an array in C++ to Java (OpenCV)

本文关键字:C++ Java OpenCV 转换 数组 指针      更新时间:2023-10-16

我正在将OpenCV中的函数转换为Java,该函数C++。链接。

我对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++ 代码中的第二行复制了范围的指针,因此它们都指向同一对值。在Java中你想要的应该是这样的:

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

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

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