BufferedImage
a をMat
inに変換するにはどうすればよいOpenCV
ですか?
Java ラッパーを使用していますOpenCV
( JavaCVではありません)。私は初めてなので、OpenCV
どのように機能するかを理解するのにいくつか問題がありますMat
。
私はこのようなことをしたいです。(Ted 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);
これはうまくいきません。Lena_copy.png
は、正しい寸法の黒い画像です。