2012-02-12 6 views
4

イメージデータがソケット接続経由でバイト[]として取り込まれています。 cvLoadImage()を使って見たすべての例は、ファイル名を渡します。処理するために、すべてのイメージをファイルに保存して、再度開く必要がありますか?これは何が起こる必要があるためにオーバーヘッドが多いようですが、byte []データからイメージをロードすることは可能ですか?イメージをロードするバイト[]からファイルを開くことはできません。OpenCV(JavaCV)

最後に

答えて

1

シンプルなソリューション、あなたは私の問題を解決したBufferedImageからの画像を作成するには、次の方法を使用することができます。データはJPGやPNGなどのいくつかの標準的な形式でエンコードされたと仮定すると、

IplImage src = IplImage.createFrom(buffered); 
2

、およびバイト配列bに対してJavaCVを使用していると仮定すると、これも同様に機能します。

IplImage image = cvDecodeImage(cvMat(1, b.length, CV_8UC1, new BytePointer(b)));

関連する問題