double型の配列を画像として保存したい

22 views (last 30 days)
baba baba
baba baba on 9 Dec 2022
Commented: Shunichi Kusano on 12 Dec 2022
画像処理を行っています。
2枚の画像から色差を計算し、出力されたdouble型の配列を画像として保存したいです。
今まではimwriteでpngとして保存していたので、勝手に0~255にスケーリングされてしまっていました。
tiffはdouble型のデータを保存できると知ったので、doubleの値をスケーリングせずそのままデータとして保存したいです。
そのような方法はありますでしょうか。教えていただけると幸いです。

Accepted Answer

Shunichi Kusano
Shunichi Kusano on 9 Dec 2022
double型での保存はimwriteではできないようです。
double型の保存として一番簡単なのは.mat形式で保存することだと思います。
save data.mat data % dataが色差のdouble型配列
最低限のデータ容量で保存したい場合はバイナリ形式で保存することになります。
この場合画像のサイズは何らか別の方法で保存しておくことになります。(普通はヘッダーファイルを別に作り、そこにサイズなどを記したテキストファイルを作ります。
fid = fopen('data.bin','wb');
fwrite(fid,data,'double');
flose(fid);
writematrix(size(data),'data_size.txt'); % データサイズだけテキストで保存。dataを読み出すときに使う。
  3 Comments
baba baba
baba baba on 10 Dec 2022
すみません、どうやらwritematrixがライセンスが古いせいで使用できないのですが、ほかに方法はありますか?
Shunichi Kusano
Shunichi Kusano on 12 Dec 2022
writetableはいかがですか?
もしくはfprintfでもいいかと思います。

Sign in to comment.

More Answers (0)

Categories

Find more on Convert Image Type in Help Center and File Exchange

Products


Release

R2015a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!