Radi_tech’s blog

Radiological technologist in Japan / MRI / AI / Deep learning / MATLAB / R / Python

【MATLAB】DICOMを余白なしでJPEGへ変換

f:id:radi_tech:20211031204812p:plain
MATLABでDICOMを読み込み,処理を経てJPEG保存します。

DICOMはuint16形式で読み込まれるので、最も一般的な画像保存関数”imwrite”が直接的には使えず,figureをたてて”saveas”で保存する必要があります。

手順

  • DICOM読み込み
  • 各種処理(今回はresize)
  • figureをたてる
  • ”imshow”で表示
  • figureの余白削除の処理
  • "print"を用いて保存
%DICOMを読み込む
DCM_img = dicomread(DCM_path);
%resizeする
rs_DCM_img   =imresize(DCM_img,[512 512]);

%figureをたてる
figure(1)
imshow(rs_DCM_img ,[],'Border','tight');

%Figureのプロパティを"inches"で処理する設定
set(figure(1),'Units','inches');

%現在の画像位置を取得
pos = get(figure(1),'Position');

%paper sizeを変更することで余白をカット
set(figure(1),'PaperPositionMode','Auto','PaperUnits','Inches','PaperSize',[pos(3), pos(4)])

%print機能を利用してjpegで保存.’jpg’ではなく’jpeg’と書くことに注意
print(figure(1),’rs_DCM_img','-djpeg','-r0')