繁体   English   中英

Android相机预览字节[]转换为Java图像

[英]Android camera preview byte[] to Java image

我有一个使用相机的android应用。 我正在使用套接字连接发送摄像机的onPreviewFrame()的byte []。

这是我的代码

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的格式以及如何将其转换为服务器上的图像。 我正在使用在PC上运行的以下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();
}

在服务器上,它正在创建文件,但是byte []需要以某种图像格式进行解码。 有谁知道该怎么做?

我还有什么需要的吗?

假设此数据来自Camera Preview,则需要找出什么是Preview Format: Android-Camera.Parameters-getPreviewFormat() ,它指向可能的图像格式列表-Android-ImageFormat 您需要将格式发送到服务器端代码。

一旦服务器端具有了格式,您就可以搜索网络以解码或转换为合适的格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM