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

22 views (last 30 days)
virgo kk
virgo kk on 25 Jul 2019
Commented: Kenta on 2 Aug 2019
大量の二次元画像を積み重ね、(stack)して3Dモデルとして表示したいと考えています。
イメージとしては、三次元のz軸方向をずらしながら画像を積み重ねるイメージです
画像の種類はJPEGです。
よろしくお願いします。
  2 Comments
Kenta
Kenta on 25 Jul 2019
ちなみにですが、例となるようなデータなどはございますか。
イメージ的には、関数catなどで、4次元方向に積み重ねながら、下の例のようなデータを作って可視化すればよいのではないかと考えています。
I=imread('n-th_img.jpg');
s= cat(4,s,I);
virgo kk
virgo kk on 26 Jul 2019
Edited: virgo kk on 26 Jul 2019
返信有難うございます。データは、持ち出し不可なので詳細だけお伝えさせていただきます。データは元々拡張子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)

Sign in to comment.

Accepted Answer

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

Sign in to comment.

More Answers (1)

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

Sign in to comment.

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!