如何在opencv Java中将int [] []转换为Mat?

时间:2017-04-24 01:59:31

标签: java arrays opencv mat

我有一个函数,我处理不同的数组[] [],我需要使用Mat,因为我正在使用图像,所以我需要该图像的像素。

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat img = Imgcodecs.imread(imagelocation);

我需要一种方法来获取Mat的像素值。 但我想知道我是否可以将数组[] []转换为Mat。 我希望你理解并帮助我。

1 个答案:

答案 0 :(得分:1)

要获取Mat的像素值,您可以使用:reference

Mat m;
int bufferSize = m.channels()*m.cols()*m.rows();
byte [] b = new byte[bufferSize];
m.get(0,0,b); // get all the pixels
double pixelValue = m.get(0, 0) // get pixel at row 0, column 0

将数组转换为Mat:

byte[] raw_data = ...;
Mat mat = new Mat();
mat.put(0, 0, raw_data);