私は画像である次のbase64文字列を持っています:Link to base64 image そして私はMatlabで画像を取り戻したいと思います。私は画像が有効であるかどうか確認するために次のウェブサイトを使用しました:https://codebeautify.org/base64-to-image-converterそして問題なく動いていました。MATLABでbase64イメージを読み込む方法は?
ウェブサイトから、それを復号化した後の画像をダウンロードする場合、私は以下の情報を得る:
画像は512×512のサイズと32ビットのビット深度を持ちます。さらに、私はこれがカラー画像であることを知っています。
私はApacheライブラリを利用するDecode base64 to RGB image in matlabというここに述べたアプローチを試しました。しかし、次のコードを使用する場合:img
はbase64文字列である
result = native2unicode(base64.decode(uint8(img)).');
は、結果は599636
長いchar配列であろう。しかし、512*512*3 = 786432
。
ここから進んで、512 * 512色の画像を得る方法が不思議ですか?
編集:
私の現在の回避策は、テキストファイルにbase64で符号化された画像を書き、そしてパイソンを経由して、それを読み出して、イメージとしてディスクに書き込み、MathWorks社のMATLABでそれをリロードすることです。これはうまくいくが、非常に醜い。 Pythonでは、それは簡単なスクリプトで動作します:
import base64
f = open('test.txt','r')
message = f.read()
print(message)
with open("imageToSave.png", "wb") as fh:
fh.write(base64.decodebytes(bytearray(message,'utf-8')))
はありがとう、私はそれをしようとする - それは、それをディスクに書き込むことなく、画像にアクセスすることは可能でしょうか? – Kev1n91
簡単な既製のソリューションは見つかりませんでしたが、1つあるはずです。 –