二次元画像のスタック​の方法を教えていただ​きたいです。

22 ビュー (過去 30 日間)
virgo kk
virgo kk 2019 年 7 月 25 日
コメント済み: Kenta 2019 年 8 月 2 日
大量の二次元画像を積み重ね、(stack)して3Dモデルとして表示したいと考えています。
イメージとしては、三次元のz軸方向をずらしながら画像を積み重ねるイメージです
画像の種類はJPEGです。
よろしくお願いします。
  2 件のコメント
Kenta
Kenta 2019 年 7 月 25 日
ちなみにですが、例となるようなデータなどはございますか。
イメージ的には、関数catなどで、4次元方向に積み重ねながら、下の例のようなデータを作って可視化すればよいのではないかと考えています。
I=imread('n-th_img.jpg');
s= cat(4,s,I);
virgo kk
virgo kk 2019 年 7 月 26 日
編集済み: virgo kk 2019 年 7 月 26 日
返信有難うございます。データは、持ち出し不可なので詳細だけお伝えさせていただきます。データは元々拡張子dicomです。CTのスライス画像であったものをトリミング処理するために一度jpegに変換してからトリミングを行っています。画像サイズは136*190です。
以下現在までに作成しているコードです。
よろしくお願い致します。
clear;
for i=1:5
% {} = cell array
images{i} = imread(sprintf('%d.jpg',i));
I{i} = (images{i});
end
%画像の番号順読み込みループ
td = zeros(136,190,5);   % 空の三次元配列データを追加
for i = 1:5
td(136,190,i) = I(i) %空の三次元配列にz軸をずらしながら代入していく
end
%エラーメッセージ
>> no1
cell から double に変換できません。
エラー: no1 (line 11)
td(136,190,i) = I(i)

サインインしてコメントする。

採用された回答

Kenta
Kenta 2019 年 7 月 26 日
clear;clc
td = zeros(136,190,5);  
for i = 1:5
td(:,:,i)=imread(sprintf('%d.jpg',i))
end
対象画像は5枚で、グレースケールということで正しいですか。それならばこのようにすれば読み取れると思うのですがいかがでしょうか
  2 件のコメント
virgo kk
virgo kk 2019 年 7 月 26 日
返信有難うございます。
ご指摘通り、対象画像5枚グレースケール画像です。
上のコードで読み取りをすることができました。有難うございます。
問題はここからで、この読み取った画像を重ねて、三次元表示で表したいというのが本題です。
イメージをお伝えすると、四角形の二次元画像をz軸にずらしながら積み重ねていくと、角柱のような図形で表せると思います。この図形を表示したいということです。
Kenta
Kenta 2019 年 7 月 26 日
ちょうど上のようなイメージでしょうか?ここのコードに習って試せば、似たようなものは見れると思うのですが、いかがでしょうか。

サインインしてコメントする。

その他の回答 (1 件)

virgo kk
virgo kk 2019 年 7 月 26 日
ct_img_02.jpg
返信有難うございます。
少しイメージと離れていて、
上のようなCTの画像を積み重ねていくと下のような不完全ではあると思いますが、円柱になると思います。
この円柱の体積を求めるために、画像をスタックしてモデルとして表示したいです。
thumbnail.png
  13 件のコメント
virgo kk
virgo kk 2019 年 8 月 2 日
有難うございます。
100以上にしても上と同様の3dイメージが表示されます。
144以上などコマンドプロンプトで表示されていた配列の中身の中央値も入れてみましたが、
同様のイメージでした。
Kenta
Kenta 2019 年 8 月 2 日
そうですね、例えば180・200・220などでもダメですか?
そのデータを扱ったことがないので、現状の情報だけではよくわかりません...
その値を変える・輝度もいれて見やすくするなど、いろいろと検討して教えてください!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!