Я пытаюсь понять, как сделать это преобразование, но у меня все еще есть та же ошибка. Мне нужно преобразовать IN JAVA изображение ipl в мат, чтобы получить pyrDown изображения. Здесь ошибка: Несоответствие типов: невозможно преобразовать из opencv_core.IplImage в Mat
public class Image {
IplImage i;
public void downsample(){
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
Mat Out= new Mat();
Mat in(i); // error in this line
//Down sample the image by factor of 2
Imgproc.pyrDown(in, Out);
}
}
IplImage
является устаревшим форматом, а конструкторMat
, который имел этот класс в качестве входных данных, был удален в более новых версиях С++ и никогда не был реализован в Java-версии OpenCV. Я думаю, что JavaCV использовал его. В ссылке есть какое-то решение, но, похоже, оно будет медленным. Действительно ли необходимо использовать IplImage? или вы могли бы просто использоватьMat
с самого начала? - person api55   schedule 10.05.2016i.getByteBuffer()
для получения массива байтов, а затем создатьMat
того же размера, а затем использоватьput
для помещения в него данных. - person api55   schedule 10.05.2016