2

現在、opencv を使用してウェブカメラからキャプチャする python ソケット サーバーを使用しています。image.tostring(); を使用してキャプチャした画像を変換しました。

この画像を A​​ndroid アプリケーションに送信して、Web ビューで開くようにしています。テキスト文字列を開くことはできますが、画像に戻すことはできません。

これは、Web ビューに表示するものを取得できる唯一の方法です。

webv.loadData(html, "text/html", "utf-8");

データは Android デバイスに転送されているので、ソケットが正常に動作していることはわかっていますが、翻訳がわかりません。

助言がありますか?

以下のコメントに基づいて編集します。

Ok。そのため、送信する前に、文字列をPythonでbase64に変換しました。

bitmapfactory を使用して、次を使用してイメージを ImageView に追加しようとしました。

byte[] decodedString = Base64.decode(result, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);

しかし、エラー SkImageDecoder:: Factory returned null が表示されます

また、次のWebViewを試してみましたが、壊れた画像アイコンが表示されます

String html = "<img src=\"data:image/jpeg;base64,"+result+"\" />";
webv.loadData(html, "text/html", "utf-8");

これらは私に空のウェブビューを与えます

String html = "<img src=\"data:image/jpeg;base64,"+result+"\" />";
webv.loadData(html, "iamge/jpeg", "base64");

String html = "<img src=\"data:image/jpeg;base64,"+result+"\" />";
webv.loadData(html, "text/html", "base64");

webv.loadData(result, "image/jpeg","base64");

テキストファイルにエクスポートされたbase64文字列を画像に再形成できないため、問題は私のpythonコードにあるようです。「エラーが含まれています」該当するコードフラグメント:

img = cv.QueryFrame(cam)
imgstr = base64.b64encode(img.tostring())

conn = s.accept()
conn.send(imgstr)
4

0 に答える 0