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

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

 채택된 답변

Shunichi Kusano
Shunichi Kusano 2022년 12월 9일

0 개 추천

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

baba baba
baba baba 2022년 12월 10일
ご返信ありがとうございます。
やはりdouble型の画像形式で保存するのは難しいのですね。
保存したデータをpythonで使用したいので、読み込みの簡単そうな.mat形式での保存を試してみます。
ありがとうございました。
baba baba
baba baba 2022년 12월 10일
すみません、どうやらwritematrixがライセンスが古いせいで使用できないのですが、ほかに方法はありますか?
Shunichi Kusano
Shunichi Kusano 2022년 12월 12일
writetableはいかがですか?
もしくはfprintfでもいいかと思います。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 イメージ에 대해 자세히 알아보기

제품

릴리스

R2015a

질문:

2022년 12월 9일

댓글:

2022년 12월 12일

Community Treasure Hunt

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

Start Hunting!