BufferedImage - problem przy zapisie

0

Mam problem przy zapisie obrazu - tworzą się zakłócenia, jak w obrazie poniżej. Teoretycznie stworzony obraz powinien zawierać tylko dwie barwy - białą oraz czarną - bez odcieni szarości. Mimo to wyraźne są jakieś zakłócenia - skąd one się biorą?

Nie chodzi o efekty estetyczne, ale stworzony obraz chciałbym wpuścić do sieci neuronowej. Zależy mi, aby obok piksela białego i czarnego nie pojawiało się nic więcej. Co robię źle?

BufferedImage image_symbol = new BufferedImage(60, 71, BufferedImage.TYPE_BYTE_GRAY);
for (int i=0; i<71; i++) {
   for (int j=0; j<60; j++) {
      if (canvas.drawed_symbol[j][i] != 1) {
	image_symbol.setRGB(j, i, 16777215);
      }
   }
}
ImageIO.write ( image_symbol, "jpg", plik  ) ;

user image

0

Spróbuj zapisać plik jako PNG. Być może artefakty spowodowane są kompresją w JPEGu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1