3

私が取り組んでいるプロジェクトは、Arduino UNO とVideo Experimenter シールドの助けを借りて、セキュリティ カメラからフレームをキャプチャすることです。次に、フレームをシリアル ポート経由でバイト配列として送信します。Java を使用して、このバイト配列を画像に変換し、この画像をストリーミングする方法、またはこの画像をビデオにしてからストリーミングする方法を Web サーバー経由で行うにはどうすればよいでしょうか?

私が積み重ねたコードはこれです:

//Handle an event on the serial port. Read the data and save the image.

public synchronized void serialEvent(SerialPortEvent oEvent) {

    if (oEvent.getEventType() == SerialPortEvent.DATA_AVAILABLE) {

        try {
            System.out.println("Got it!");
            int available = input.available();
            byte[] chunk = new byte[available];
            input.read(chunk, 0, available);
            InputStream in = new ByteArrayInputStream(chunk);
            BufferedImage image = ImageIO.read(in);
            ImageIO.write(image, "BMP", new File ("/home/zuss/images/image.BMP"));

        } catch (Exception e) {
            System.err.println(e.toString());
        } 
     }
}

ターミナル ウィンドウに戻りますjava.lang.IllegalArgumentException: image == null! 。arduino がシリアル ポートにデータを送信している限り、継続的に実行されます。

4

1 に答える 1