二次元画像のスタックの方法を教えていただきたいです。
Mostrar comentarios más antiguos
大量の二次元画像を積み重ね、(stack)して3Dモデルとして表示したいと考えています。
イメージとしては、三次元のz軸方向をずらしながら画像を積み重ねるイメージです
画像の種類はJPEGです。
よろしくお願いします。
2 comentarios
Kenta
el 25 de Jul. de 2019
ちなみにですが、例となるようなデータなどはございますか。
イメージ的には、関数catなどで、4次元方向に積み重ねながら、下の例のようなデータを作って可視化すればよいのではないかと考えています。
I=imread('n-th_img.jpg');
s= cat(4,s,I);
Respuesta aceptada
Más respuestas (1)
virgo kk
el 26 de Jul. de 2019
0 votos
13 comentarios
Kenta
el 26 de Jul. de 2019
[x y z]=size(td);
a=1;
for i=1:x
for j=1:y
for k=1:z
if td(x,y,z)>200
list(a,1)=x;
list(a,2)=y;
list(a,3)=z;
a=a+1;
end
end
end
end
figure;pcshow(pointCloud(list))
ありがとうございます。そのようなイメージなのですね、かなり平べったいようになると思いますが、3D点群のように見るのではどうでしょうか。はじめのコードでtdを作成したあとに、このコードを実行したら、3D表示がされませんでしょうか。対象は白く表示されるのでしょうか。ここでは輝度が200以上のボクセルのみを対象として拾っています。対象にあわせて閾値設定をしてください。
普通は、sub2indなどで、もう少し効率よく書くかと思いますが、見やすくするためにうえのように書いています。
Kenta
el 1 de Ag. de 2019
どの行が実行できませんか?listは変数名で、関数ではありません。
pcshowが実行できないのでしょうか。もしかしたらこちらのコードが間違っている可能性もあります。詳しく状況をおしえてください
Kenta
el 1 de Ag. de 2019
listを全てLにして、再度実行していただけますか?
virgo kk
el 1 de Ag. de 2019
td(x,y,z)>0にしてみてはどうですか、ピクセル値は基本的に0以上ですよね?
Lが未定義です、というのは、多分ピクセル値が200以上のものはなくて、変数が作られなかったのだと思います。さきほどとはエラーの文が変わっていることから推測されます。
[x y z]=size(td);
a=1;
for i=1:x
for j=1:y
for k=1:z
if td(x,y,z)>=0
list(a,1)=x;
list(a,2)=y;
list(a,3)=z;
list(a,4)=td(x,y,z);
a=a+1;
end
end
end
end
figure;pcshow(pointCloud(list))
[x y z]=size(td);
a=1;
for i=1:x
for j=1:y
for k=1:z
if td(x,y,z)>=0
list(a,1)=i;
list(a,2)=j;
list(a,3)=k;
a=a+1;
end
end
end
end
figure;pcshow(pointCloud(list))
エラーに従い、M×3でやってみましたか?
ptCloudの変数を作って'color'で輝度値のベクトルを指定したら輝度も表示できますので
やってみてください
このリンクを見れば、輝度の表示もできます。
Kenta
el 2 de Ag. de 2019
td(x,y,z)>=0の0という閾値を変えればよいです。今回は0以上なので全てが表示されます。実際は特定の輝度値以上のみを表示されるのですが、100くらいですかね?
virgo kk
el 2 de Ag. de 2019
Kenta
el 2 de Ag. de 2019
そうですね、例えば180・200・220などでもダメですか?
そのデータを扱ったことがないので、現状の情報だけではよくわかりません...
その値を変える・輝度もいれて見やすくするなど、いろいろと検討して教えてください!
Categorías
Más información sobre Image Processing Toolbox en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





