1

Arduino UNO R3Video Experimenter Shield。Video Experimenter Shield の助けを借りて、セキュリティ カメラからキャプチャされた画像の pollserial 通信バイトを Arduino から取得しています。Arduino からバイトを取得し、ByteArrayList を 0 と 1 のモノクロ イメージに変換するコードを Java で作成しました。

Java プログラムは arduino から利用可能なデータを一度に収集していないため、OUTPUT_BUFFER_EMPTY の場合、このバイトのスタックをイメージにします。しかし、arduinoから受け取ったバイトをバイトチャンクに何度も保存し続けます。

4

2 に答える 2

2

シリアル ポートからすべてのデータを読み取っていないと思われます。利用可能なバイト数を確認してバッファに読み込みますが、それはイメージ全体ではない可能性があります。したがって、呼び出すImageIO.readと null が返されます。

これを行う方法の詳細については、この質問への回答を参照してください。

ドキュメントには、画像データImageIO.readが登録されていない場合は null を返すとも書かれています。ImageReader使用している画像形式がサポートされていない可能性があります。

ImageIO の実装は、最低限 JPEG、PNG、BMP、WBMP、および GIF をサポートします。あなたの説明から、これらのフォーマットのいずれかを使用しているようには聞こえません。

于 2012-04-17T12:24:05.063 に答える
0

arduinoは遅すぎます。そのため、通信シャネルを開いてから少し待つ必要があります。そうでなければ、arduinoは準備する時間がなく、データを失います...

RXTX Javaライブラリと、http://arduino.cc/playground/Interface/Javaのサンプルコードとコメントを確認してください

于 2012-04-18T07:45:31.173 に答える