Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中导入和导出原始图像?_Java_Image - Fatal编程技术网

如何在Java中导入和导出原始图像?

如何在Java中导入和导出原始图像?,java,image,Java,Image,正如标题所示,我正在尝试读取和输出一个原始图像文件。我在这个程序中的目标是读取原始图像并进行一些图像处理,然后输出最终图像。我有一个想法如何做这个程序,但我被困在试图读取java的原始图像。我甚至不知道如何将原始图像正确上传到我的项目文件夹中。如有任何建议,将不胜感激。这是我到目前为止的代码(当然我是从一个网站上获取这段代码进行测试的) }ImageIO支持GIF、JPEG、PNG、BMP和WBMP,但您也可以找到一些用于RAW的库(例如jrawio),如中所示。ImageIO支持GIF、JPE

正如标题所示,我正在尝试读取和输出一个原始图像文件。我在这个程序中的目标是读取原始图像并进行一些图像处理,然后输出最终图像。我有一个想法如何做这个程序,但我被困在试图读取java的原始图像。我甚至不知道如何将原始图像正确上传到我的项目文件夹中。如有任何建议,将不胜感激。这是我到目前为止的代码(当然我是从一个网站上获取这段代码进行测试的)


}

ImageIO支持GIF、JPEG、PNG、BMP和WBMP,但您也可以找到一些用于RAW的库(例如jrawio),如中所示。ImageIO支持GIF、JPEG、PNG、BMP和WBMP,但您也可以找到一些用于RAW的库(例如jrawio),如中所示

诚然,
getRGB
更简单。上面我假设扫描大小是宽度,有时是对齐的。RGBA、ARGB和one可能会有所不同

它是一个线性化的一维数组,可以使用
IntBuffer
,如果需要,甚至可以将字节顺序更改为小端

Path path = Paths.get("lena.raw");
byte[] content = Files.readAllBytes(path);
IntBuffer buf = ByteBuffer.wrap(content) /*.order(ByteOrder.LITTE_ENDIAN)*/ .asIntBuffer();
int[] rgb = new int[content.length / 4];
buf.get(rgb);
BufferedImage outImage = new BufferedImage(width, length, BufferedImage.TYPE_INT_ARGB);
outImage.setRGB(0, 0, width, height, rgb, 0, width);
ImageIO.write(outImage, "png", new FileOutputStream(...));
还可以查看文件通道和MappedByteBuffer以获得速度和内存使用

可能是第一次出现假颜色(类型为\u INT \u ARGB)

诚然,
getRGB
更简单。上面我假设扫描大小是宽度,有时是对齐的。RGBA、ARGB和one可能会有所不同

它是一个线性化的一维数组,可以使用
IntBuffer
,如果需要,甚至可以将字节顺序更改为小端

Path path = Paths.get("lena.raw");
byte[] content = Files.readAllBytes(path);
IntBuffer buf = ByteBuffer.wrap(content) /*.order(ByteOrder.LITTE_ENDIAN)*/ .asIntBuffer();
int[] rgb = new int[content.length / 4];
buf.get(rgb);
BufferedImage outImage = new BufferedImage(width, length, BufferedImage.TYPE_INT_ARGB);
outImage.setRGB(0, 0, width, height, rgb, 0, width);
ImageIO.write(outImage, "png", new FileOutputStream(...));
还可以查看文件通道和MappedByteBuffer以获得速度和内存使用

可能是第一次出现假颜色(类型为\u INT \u ARGB)

WritableRaster raster = image.getWritableRaster();
Path path = Paths.get("lena.raw");
byte[] content = Files.readAllBytes(path);
IntBuffer buf = ByteBuffer.wrap(content) /*.order(ByteOrder.LITTE_ENDIAN)*/ .asIntBuffer();
int[] rgb = new int[content.length / 4];
buf.get(rgb);
BufferedImage outImage = new BufferedImage(width, length, BufferedImage.TYPE_INT_ARGB);
outImage.setRGB(0, 0, width, height, rgb, 0, width);
ImageIO.write(outImage, "png", new FileOutputStream(...));