如何在Java中将字节数组转换为Mat对象

巴拉姆敦·阿迪尔(Bahramdun Adil)

我想将字节数组转换为Mat对象,但是会抛出

java.lang.UnsupportedOperationException: Provided data element number (60181) should be multiple of the Mat channels count (3)
    at org.opencv.core.Mat.put(Mat.java:992)

这是我的代码:

byte[] bytes = FileUtils.readFileToByteArray(new File("aaa.jpg"));

Mat mat = new Mat(576, 720, CvType.CV_8UC3);
//Imgcodecs.imencode(".jpg", mat, new MatOfByte(bytes));
mat.put(0, 0, bytes);

我尝试了很多方法,也用了很多谷歌搜索,但是没有找到任何解决方案。

注:我知道Imgcodecs.imread("aaa.jpg");

BufferedImage img = ImageIO.read(new ByteArrayInputStream(byteArray));
Mat mat = new Mat(img.getHeight(), img.getWidth(), CvType.CV_8UC3);
mat.put(0, 0, ((DataBufferByte) img.getRaster().getDataBuffer()).getData());

但是我想直接将字节数组转换为Mat,而无需任何额外的处理,以加快处理时间。

提前致谢!

巴拉姆敦·阿迪尔(Bahramdun Adil)

我解决了这样的问题:

byte[] bytes = FileUtils.readFileToByteArray(new File("aaa.jpg"));
Mat mat = Imgcodecs.imdecode(new MatOfByte(bytes), Imgcodecs.CV_LOAD_IMAGE_UNCHANGED);

现在它运行良好,并且比 *bytes->BufferedImage->Mat*

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Java中将二维布尔数组转换为一维字节数组?

如何在Android Studio中将imageview转换为字节数组?

如何在Java中将图像转换为字节数组?

在Java中将InputStream转换为字节数组

如何在Java中将字节数组转换为hexString?

如何在Java中将字节数组转换为String?

如何在Java中将字节数组转换为十六进制字符串?

如何在Java中将具有空终止符的字节数组转换为字符串?

如何将Java字节数组转换为Scala字节数组?

如何在Java SE中将字节数组转换为Image

如何在Go中将字节数组转换为字符串数组?

如何在Java中将字符串转换为bcd格式的字节数组?

如何在Android中将位图转换为字节数组并将字节数组转换为位图?

如何在Spring MVC中将字节数组转换为ZipOutputStream?

如何在Java中将带符号的字节数组转换为ASCII

BigInteger如何在Java中将字节数组转换为数字?

如何在JNI中将Java字节数组的内容转换为C字符串?

如何在PowerShell中将哈希字符串转换为字节数组?

如何在Swift中将Int转换为4个字节的字节数组?

如何在类似于Java的Perl中将bigint转换为字节数组

如何在m子中将字节数组转换为多部分文件

如何在Kotlin中将对象转换为字节数组

如何在C ++中将浮点数组转换为字节数组(Arduino)

如何在Python中将字节数组值转换为float

如何在C ++中将64位整数转换为大端字节数组

如何在Rust中将字节数组转换为原始类型?

如何在Java中将整数值转换为'n'位数字ascii字节数组

如何在c#中将浮点数组转换为字节数组?

如何在 TwinCAT3 中将字节数组转换为各种 LREAL(double) 值