Tag: jpeg

如何在TYPE_3BYTE_BGR中获取jpeg图像的rgb值?

我有这个图像: 我想在int[]提取这个图像的RGB值。 这是我到目前为止为PNG图像所做的事情: File f = new File(“t.jpg”); BufferedImage img = ImageIO.read(f); int[] ib = img.getRGB(0, 0, img.getWidth(), img.getHeight(), null, 0, img.getWidth()); Color c = new Color(ib[0]); System.out.println(c.getRed() + ” ” + c.getGreen() + ” ” + c.getBlue()); 但是在这里我得到了这个输出: 255 128 128这是不可预期的,因为我清楚地看到(并且在几个图像编辑器中已经validation)(0,0)处的像素具有这些值255 255 255 。 我注意到img.getType()返回的类型等于TYPE_3BYTE_BGR所以我猜这是在场景后面发生的解码问题,但我无法弄清楚如何解决它(或者更清楚地了解正在发生的事情)。 有没有人会建议如何正确解码这种类型?

如何在jpeg文件中从FFC4(DHT)头创建霍夫曼树?

我以为我可以自己解决这个问题,但我似乎根本没有前进。 好的,背景: 我需要根据jpg文件中FFC4,DHT(定义霍夫曼表)标题提供的信息创建一个霍夫曼代码树。 DHT标头以这种方式定义Huffman表: 1)一系列16个字节。 每个字节定义有多少个符号具有n个位的霍夫曼代码,其中n是该系列中字节的位置。 (这有什么意义吗?!!)例如,hex的原始数据是: 00 01 05 01 01 01 … 00 这意味着: Num of bits: 1 2 3 4 5 6 7 … 16 Num of codes: 00 01 05 01 01 01 01 … 00 2)16字节列表后出现实际符号本身。 例如: 00 01 02 03 04 05 06 07 08 09 0A 0B 3)结合这两个部分我们看到它们是: […]

我需要什么库,所以我可以在Java中访问这个com.sun.image.codec.jpeg?

我在java中创建了一个图像水印程序,我导入了以下内容: import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGEncodeParam; import com.sun.image.codec.jpeg.JPEGImageEncoder; 但我得到一个错误,上面写着: 访问限制:由于对所需库C:\Program Files\Java\jre6\lib\rt.jar限制,因此无法访问JPEGCodec类型 有人知道解决这个问题的方法,或者我应该添加哪些库才能访问该库以及我找到该库的位置?

用于JPEG无损解码的100%Java库

我正在寻找一个100%Java的库,可以用jpeg无损压缩解码JPEG图像。 我知道ImageIO和JAI已经可以解码这些图像,但它们需要一个本机代码,并不是所有操作系统都存在。 我会考虑开源和关闭源解决方案,如ImageIO插件或独立。

我怎么能用java像素化jpg?

我正在尝试使用Java 6对JPEG进行像素化并且没有太多运气。 它需要与Java相关 – 而不是像Photoshop这样的图像处理程序,它需要看起来像老学校 – 就像这样: 有谁能够帮我?

一种简单的方法(工具?)来比较不同格式的像素像素?

好吧,我现在已经在java中编写了一个基本的无损jpeg joiner东西,但我想将它生成的文件与原始文件进行比较。 我只能在hex编辑器中进行比较,有没有人知道一个简单的方法,软件或基于java(最好是软件,因为我现在感觉不再需要编码!)我可以比较两个图像并产生一个“差异图” “像素不一样的地方? 谢谢。

ImageIO读取的RGB值略微不同于其他方法

我发现在使用Java(实际上是绘制.NET )时,我使用的不同是RGB,而不是使用ImageMagick,Gimp,Python和Octave。 最后4个都同意彼此,所以我假设是正确的。 对于这些示例,我正在使用此测试图像: http://farm3.static.flickr.com/2811/9177301733_9836174725_o.jpg : http://farm3.static.flickr.com/2811/9177301733_9836174725_o.jpg 测试像素x=4144 y=2768 RGB Java = (125, 107, 69) Paint.NET = (125, 107, 69) ImageMagick = (128, 106, 67) Python = (128, 106, 67) Octave = (128, 106, 67) Gimp = (128, 106, 67) 是什么赋予了? 这是使用imagemagick的快速测试: convert image.jpg -crop 1×1+4144+2768 -depth 8 txt: 输出: # ImageMagick pixel enumeration: 1,1,65535,srgb […]

可以将BufferedImage写入任何格式的文件吗?

是否正确如果我们在java中有一个BufferedImage对象,我们可以使用ImageIO.write以任何格式写出来(如果我们有一个Writer对象)? 我尝试将一个BufferedImage对象写入jpg文件,它输出一个空的图像文件但是当我尝试将其写入png文件时,它工作正常。

Java BufferedImage JPG压缩无需写入文件

我已经看过几个通过写入文件从Java BufferedImage对象制作压缩JPG图像的例子 ,但是可以在不写入文件的情况下执行JPG压缩吗? 也许通过写这样的ByteArrayOutputStream ? ImageWriter jpgWriter = ImageIO.getImageWritersByFormatName(“jpg”).next(); ImageWriteParam jpgWriteParam = jpgWriter.getDefaultWriteParam(); jpgWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); jpgWriteParam.setCompressionQuality(0.7f); ImageOutputStream outputStream = createOutputStream(); jpgWriter.setOutput(outputStream); IIOImage outputImage = new IIOImage(image, null, null); // in this example, the JPG is written to file… // jpgWriter.write(null, outputImage, jpgWriteParam); // jpgWriter.dispose(); // …but I want to compress without saving, such as ByteArrayOutputStream compressed […]

在java中将bmp转换为jpg

你如何在Java中将bmp转换为jpg? 我知道如何使用ImageIO方式但是有更快或更好的方法吗? 这是我在网上找到的ImageIO方式。 `//Create file for the source File input = new File(“c:/temp/image.bmp”); //Read the file to a BufferedImage BufferedImage image = ImageIO.read(input);` //Create a file for the output File output = new File(“c:/temp/image.jpg”); //Write the image to the destination as a JPG ImageIO.write(image, “jpg”, output); 如果我用这种方式,我会失去质量吗? 谢谢