Hi, When I load a Jpeg with ImageIO.read(stream); I get a BufferedImage of Type 5:
Example: [EMAIL PROTECTED]: type = 5 ColorModel: #pixelBits = 24 numComponents = 3 color space = [EMAIL PROTECTED] transparency = 1 has alpha = false isAlphaPre = false ByteInterleavedRaster: width = 1700 height = 2550 #numDataElements 3 dataOff[0] = 2 When I now want to use this Type 5 BufferedImage to perform a Filter-Operation via: new ConvolveOp(kernel).filter(src, null); I get an Error: Exception in thread "main" java.awt.image.ImagingOpException: Unable to convolve src image at java.awt.image.ConvolveOp.filter(ConvolveOp.java:180) at krachtus.mvc.util.FilterUtils.filterBlur2(FilterUtils.java:24) at Performance_Image.main(Performance_Image.java:28) The Point is I have to use a Type 1 BufferedImage to do a successful filtering. So far I convert the Type 5 into a Type 1 BufferedImage and the filtering works! My Problem - is a Performance Problem: The conversion from Type 5 to Type 1 takes very mucht time !!! Example: I used 10 different jpegs and did the filtering - it takes 20 sec. when I have to do this conversion. And only 10 sec. with the conversion !!! Question: Why can't ImageIO.read(...) return a BufferedImage of my choice ? ie. Type 1 ? Wild Guess: I think reading the Jpeg as a Type 1 BufferedImage could also be much faster! Why ? I use a non-JDK Lib. that returns BufferedImages of Type 1 - it is more then twice as fast as ImageIO.read() !!! It may be possible that ImageIO.read() is slower because it is more time-consuming to generate Type 5 BufferedImage (data is structured differently) : Type 5: [EMAIL PROTECTED]: type = 5 ColorModel: #pixelBits = 24 numComponents = 3 color space = [EMAIL PROTECTED] transparency = 1 has alpha = false isAlphaPre = false ByteInterleavedRaster: width = 1700 height = 2550 #numDataElements 3 dataOff[0] = 2 Type 1: [EMAIL PROTECTED]: type = 1 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=0 IntegerInterleavedRaster: width = 1700 height = 2550 #Bands = 3 xOff = 0 yOff = 0 dataOffset[0] 0 Type 5: ByteInterleavedRaster Type 1: IntegerInterleavedRaster Could their be done some optimization and ImageIO.read() be speed up by creating a BufferedImage of Type 1 ??? Cheers, jago P.S.: How about Acceleration ? Which one is accelerated ? Type 5 or Type 1 ? Cheers, jg [Message sent by forum member 'javagoodies' (javagoodies)] http://forums.java.net/jive/thread.jspa?messageID=128763 =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA2D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".