Как преобразовать BufferedImage в Mat в OpenCV? Im использует оболочку java для OpenCV (а не JavaCV). Поскольку я новичок в OpenCV, у меня есть некоторые проблемы с пониманием того, как работает Mat.
Я хочу сделать что-то вроде этого. (На основании ответа Теда В.):
BufferedImage image = ImageIO.read(b.getClass().getResource("Lena.png"));
int rows = image.getWidth();
int cols = image.getHeight();
int type = CvType.CV_16UC1;
Mat newMat = new Mat(rows,cols,type);
for(int r=0; r<rows; r++){
for(int c=0; c<cols; c++){
newMat.put(r, c, image.getRGB(r, c));
}
}
Highgui.imwrite("Lena_copy.png",newMat);
Это не работает. "Lena_copy.png" - это просто черное изображение с правильными размерами.