Добро пожаловать всем.Как преобразовать двоичное изображение в двоичный массив в java?
У меня есть двоичный файл, как это:
Я хочу представить или преобразовать это изображение или (любой двоичный файл) в двоичный массив из 0 и 1. распечатайте его значения (конечно, должно быть 0 и 1).
Моего кода я пытался, но он печатает недвоичное значение:
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class PP {
public static void main(String argv[]) throws IOException
{
File file = new File("binary.jpg");
BufferedImage originalImage = ImageIO.read(file);
ByteArrayOutputStream baos=new ByteArrayOutputStream();
ImageIO.write(originalImage, "jpg", baos);
byte[] imageInByte = baos.toByteArray();
for(int i = 0; i < imageInByte.length; i++)
{
System.out.println(imageInByte[i]);
}
}
}
Любой помощь?
Вы можете посмотреть: http://stackoverflow.com/questions/4989603/convert-an-image-to-binary-data-0s-and-1s-in-java – SomeDude
Вы печатаете 'byte 'value (которое представляет собой целочисленное значение от -128 до 127 в Java), вам необходимо [преобразовать значение' byte' в его двоичное представление] (http://stackoverflow.com/questions/12310017/how-to -convert-a-byte-to-its-binary-string-presentation) – txtechhelp
ну, проверьте это: 'System.out.println (Integer.toBinaryString (imageInByte [i]))' ... я пробовал эту строку кода для печати значений, но он печатает значения, подобные этому '1111 (строка) 0001 (строка)' .. это неверно, он должен представлять только один бит в строке ... есть ли что-то не так? –