Java 将BuffereImage转换为JPG字节数组
我正在一个图像处理平台上工作,我的服务器目前正在使用pythons PIL.Image方法从客户端接受作为字节数组的图像。我目前还使用Java作为前端,使用FrameGrab实用程序从视频中抓取图像帧,并将其作为BuffereImage对象返回。我不明白的是,我是如何将这个缓冲图像对象转换为jpg字节数组的,需要一些帮助。” 我找到了一个写一篇文章的例子 这是我代码的基本部分Java 将BuffereImage转换为JPG字节数组,java,python,python-imaging-library,Java,Python,Python Imaging Library,我正在一个图像处理平台上工作,我的服务器目前正在使用pythons PIL.Image方法从客户端接受作为字节数组的图像。我目前还使用Java作为前端,使用FrameGrab实用程序从视频中抓取图像帧,并将其作为BuffereImage对象返回。我不明白的是,我是如何将这个缓冲图像对象转换为jpg字节数组的,需要一些帮助。” 我找到了一个写一篇文章的例子 这是我代码的基本部分 BufferedImage frame; for (int i = 1
BufferedImage frame;
for (int i = 1; i < 100; i++) {
try {
frame = AWTUtil.toBufferedImage(FrameGrab.getFrameAtSec(videoFile, i * .3));
} catch (IOException ex) {
Logger.getLogger(FXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
} catch (JCodecException ex) {
Logger.getLogger(FXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
}
}
简单的方法:
publicstaticbyte[]toJpegBytes(buffereImage图像)引发IOException{
ByteArrayOutputStream bas=新的ByteArrayOutputStream();
图像IO.write(图像,“jpeg”,BAS);
返回baos.toByteArray();
}
如果您希望对转换(压缩级别等)进行更多控制,请参阅。我对代码的这一部分没有任何问题,它已经过测试并且功能齐全,我需要一种方法从BuffereImage对象获取等效格式。假设我理解正确,您应该查看和。谢谢,最后,我仔细阅读了文档,并提出了一个类似的函数。
img = Image.open(io.BytesIO(data))
img.save('test.jpg')