Jak przekonwertować obraz BufferedImage na matę w OpenCV? Im przy użyciu opakowania java dla OpenCV (nie JavaCV). Ponieważ jestem nowy w OpenCV mam pewne problemy ze zrozumieniem, jak działa Mata.Konwersja obrazu BufferedImage na Matę w opencv
Chcę zrobić coś takiego. (Na podstawie odpowiedzi Teda W.):
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);
To nie działa. "Lena_copy.png" to tylko czarny obraz z prawidłowymi wymiarami.
jest to niestandardowe java wrapper? dla 'javacv' jest to po prostu' IplImage.createFrom (bufferedImage) '. proszę zaksięgować kod, w którym utknąłeś? –
Opencv ma własne powiązanie Java od wersji 2.4.4. http://opencv.org/opencv-java-api.html – Jompa234
Widzę, nie sprawdziłem jeszcze, dzięki –