在我的场景中,我从一个设备获取屏幕(它只产生tiff图像),并将其传输到jpeg并通过网络发送到客户端(客户端只支持jpeg编码)
java code
public byte[] getscreen(){
/*
logic for fetching tiff image from the device
*/
if(tiffimage == null )
return null;
byteOutput = new ByteArrayOutputStream();
ImageIO.write(tiffImage, "jpeg", byteOutput);
return byteOutput;
}
根据设备的分辨率,设备要生成图像需要10毫秒到1秒的时间(请注意,在这一侧不能做任何更改,它只生成tiff图像),大小为3 MB到12 MB取决于分辨率。
现在将图像转换为JPEG需要一些时间。我的问题是,我们可以使用GPU的能力转换图像从tiff到JPEG,以便我可以得到改进的FPS在我的客户端?
附注:应用程序正在各种机器上运行,这些机器有显卡,例如(NVDIA,AMD,Intel HD graphics)。我想知道这是否可以做到,如果可以,如何解决方案。
MPEG大致就是这样:一个接一个的JPEG图像编码操作,加上一些涉及P帧差异的逻辑等等。我曾经用GPU写过一个简单的MPEG编码器,这给了一些加速因素(但不记得具体是多少)。也就是说,为了正确地回答你的问题:是的,可能会有一些时间差,但对于仅一张图片来说,这种差很可能是可以忽略不计的,包括将图片数据卸载到GPU设备的偏移时间等等。
所以我再次提出这个问题,希望能从大家那里有更好的解释和指导… 在执行所提出的解决方案时,我遇到的问题很少: 1)根据Jonathan Feinberg提出的答案,需要安装JAI和JAI/imageIO,但在安装了这两个文件后,仍然无法导入NetBean7.2中的文件。NetBean7.2仍然建议导入默认的imageIO库。 3)我也尝试了其他方法,例如使用BufferedOutputStream方
问题内容: 最近,当我尝试显示图像文件时遇到问题。不幸的是,图像格式是TIFF格式,主要的网络浏览器不支持该格式(因为我知道Safari仅支持该格式)。由于某些限制,我必须将此格式转换为主流浏览器支持的其他格式。但是,当我尝试转换格式时,这给我带来了很多问题。 我已经在网上搜索过,尽管在此链接中发布了类似的问题,但我如何在Java中将TIF转换为PNG?“但是我无法获得建议的结果。 因此,我再次提
问题内容: 我正在寻找将JPEG文件流转换为TIFF文件的Java API。我查看了JAI,但未找到与我正在查看的内容类似的内容。 有人可以指出我要这样做的一个好的API吗? 问题答案: 这里有一个例子 http://log.robmeek.com/2005/08/write-tiff-in- java.html
我的路上有一些照片。 我的程序必须计算有多少图片是红色的。 我开始循环,但我困惑于如何检测图片是否有红色。 以下是我的循环:
我正在使用Java压缩一个图像。
我需要压缩一个有几个灰色16bit图像(多页)的tif文件。我已经尝试使用ImageIO如下所示:使用Java ImageIO进行Tiff压缩最初,tif文件中的每个图像都来自另一个Tiff文件。当我想使用压缩机时,我有以下选项: null