Baklanov-Soft / image-hosting-processing

Processing part of image hosting service - previews and recognition
0 stars 0 forks source link

Processing doesn't work with black/white pictures #27

Open DenisNovac opened 6 months ago

DenisNovac commented 6 months ago

Both resizer and recognizer crashes on white/black pictures (e.g. pages of hentai).

javax.imageio.IIOException: java.lang.IllegalArgumentException: Numbers of source Raster bands and source color space components do not match
    at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1472)
    at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1365)
    at ai.djl.modality.cv.BufferedImageFactory.fromInputStream(BufferedImageFactory.java:70)
    at com.github.baklanovsoft.imagehosting.recognizer.CategorizationStream.$anonfun$processRecord$2(CategorizationStream.scala:31)
    at delay @ com.github.baklanovsoft.imagehosting.recognizer.CategorizationStream.$anonfun$processRecord$1(CategorizationStream.scala:31)
    at flatMap @ com.github.baklanovsoft.imagehosting.recognizer.CategorizationStream.$anonfun$processRecord$1(CategorizationStream.scala:31)
    at delay @ com.github.baklanovsoft.imagehosting.s3.MinioClient$$anon$1.getObject(MinioClient.scala:71)
    at flatMap @ com.github.baklanovsoft.imagehosting.recognizer.CategorizationStream.processRecord(CategorizationStream.scala:30)
    at map @ com.github.baklanovsoft.imagehosting.recognizer.CategorizationStream.$anonfun$streamR$7(CategorizationStream.scala:67)
    at delay @ org.typelevel.log4cats.slf4j.internal.Slf4jLoggerInternal$Slf4jLogger.$anonfun$info$4(Slf4jLoggerInternal.scala:91)
    at delay @ org.typelevel.log4cats.slf4j.internal.Slf4jLoggerInternal$Slf4jLogger.isInfoEnabled(Slf4jLoggerInternal.scala:66)
    at ifM$extension @ org.typelevel.log4cats.slf4j.internal.Slf4jLoggerInternal$Slf4jLogger.info(Slf4jLoggerInternal.scala:91)
    at flatMap @ com.github.baklanovsoft.imagehosting.recognizer.CategorizationStream.$anonfun$streamR$5(CategorizationStream.scala:66)
    at flatMap @ fs2.Stream.$anonfun$parEvalMapActionImpl$9(Stream.scala:2286)
DenisNovac commented 6 months ago
resizer1  | java.lang.IllegalArgumentException: Numbers of source Raster bands and source color space components do not match
resizer1  |     at java.desktop/java.awt.image.ColorConvertOp.filter(Unknown Source)
resizer1  |     at java.desktop/com.sun.imageio.plugins.jpeg.JPEGImageReader.acceptPixels(Unknown Source)
resizer1  |     at java.desktop/com.sun.imageio.plugins.jpeg.JPEGImageReader.readImage(Native Method)
resizer1  |     at java.desktop/com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(Unknown Source)
resizer1  |     at java.desktop/com.sun.imageio.plugins.jpeg.JPEGImageReader.read(Unknown Source)
resizer1  |     at java.desktop/javax.imageio.ImageIO.read(Unknown Source)
resizer1  |     at java.desktop/javax.imageio.ImageIO.read(Unknown Source)
resizer1  |     at com.github.baklanovsoft.imagehosting.resizer.ResizeJob.$anonfun$resize$1(ResizeJob.scala:15)
resizer1  |     at delay @ com.github.baklanovsoft.imagehosting.resizer.ResizeJob.resize(ResizeJob.scala:13)
resizer1  |     at main$ @ com.github.baklanovsoft.imagehosting.resizer.Main$.main(Main.scala:13)
resizer1  |     at flatMap @ com.github.baklanovsoft.imagehosting.resizer.ResizingStream.$anonfun$streamR$5(ResizingStream.scala:35)
resizer1  |     at delay @ com.github.baklanovsoft.imagehosting.s3.MinioClient$$anon$1.getObject(MinioClient.scala:71)
resizer1  |     at flatMap @ com.github.baklanovsoft.imagehosting.resizer.ResizingStream.$anonfun$streamR$4(ResizingStream.scala:31)
resizer1  |     at delay @ org.typelevel.log4cats.slf4j.internal.Slf4jLoggerInternal$Slf4jLogger.$anonfun$info$4(Slf4jLoggerInternal.scala:91)
resizer1  |     at delay @ org.typelevel.log4cats.slf4j.internal.Slf4jLoggerInternal$Slf4jLogger.isInfoEnabled(Slf4jLoggerInternal.scala:66)
resizer1  |     at ifM$extension @ org.typelevel.log4cats.slf4j.internal.Slf4jLoggerInternal$Slf4jLogger.info(Slf4jLoggerInternal.scala:91)
resizer1  |     at flatMap @ com.github.baklanovsoft.imagehosting.resizer.ResizingStream.$anonfun$streamR$2(ResizingStream.scala:30)
resizer1  |     at as @ com.github.baklanovsoft.imagehosting.resizer.Main$.run(Main.scala:41)