Байт предварительного просмотра камеры Android [] в изображение Java - PullRequest
2 голосов
/ 05 марта 2011

У меня есть приложение для Android, которое использует камеру.Я использую сокетное соединение для отправки байта [] onPreviewFrame () камеры.

Вот мой код

public void onPreviewFrame(byte[] data, Camera camera) {
        Log.v(TAG, "data=" + data.length);
        try
        {
            Log.i(TAG,"connecting to server...");

            soc=new Socket(serverAddr,8210);
            outStream=new ObjectOutputStream(soc.getOutputStream());
            Log.i(TAG,"connected");
            outStream.write(data);
            outStream.flush();
            outStream.close();
        }
        catch(Exception ex)
        {
            Log.e(TAG,"error on stream : " + ex);
        }
    }

Я просто хотел узнать формат byte[] data и как преобразовать его в изображение на сервере.Я использую следующий код Java, который выполняется на ПК:

ServerSocket serverSocket = new ServerSocket(8210); 
while (true) { 
  Socket client = serverSocket.accept();  
  byte [] mybytearray  = new byte [497664];
  InputStream is = client.getInputStream();
  FileOutputStream fos = new FileOutputStream("source-copy.jpg");
  BufferedOutputStream bos = new BufferedOutputStream(fos);
  bytesRead = is.read(mybytearray,0,mybytearray.length);
  bos.write(mybytearray, 0 , 497664);
  bos.flush();
  bos.close();
}

На сервере он создает файл, но байт [] необходимо декодировать в некотором формате изображения.Кто-нибудь знает, как это сделать?

Есть что-нибудь еще, что мне нужно здесь?

1 Ответ

1 голос
/ 05 марта 2011

Предполагая, что эти данные взяты из предварительного просмотра камеры, вам необходимо выяснить, что такое формат предварительного просмотра: Android - Camera.Parameters - getPreviewFormat () , который указывает на список возможных форматов изображения - Android - ImageFormat .Вам нужно будет отправить формат в код на стороне сервера.

Как только на стороне сервера появится формат, вы можете выполнить поиск в Интернете для декодирования или преобразования в подходящий формат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...