フィルターのクリア

RealSense D455を用いてカラ​ー画像を取得するコー​ドはありますか?

44 ビュー (過去 30 日間)
輝
2023 年 12 月 27 日
コメント済み: 2023 年 12 月 28 日
Intel RealSense D455 を用いてMATLABでRGB画像を取得したかったので、こちらを参考に以下のコードを実行したのですが、求めている画像を取得することができませんでした。
Intel RealSense D455をWebカメラからRGB画像を取得するのと同じように使いたいので、詳しく分かる方いらっしゃいましたら、ご教授よろしくお願い致します。
pipe = realsense.pipeline();
profile = pipe.start(); % カメラから情報取得開始
for i=1:30
fs = pipe.wait_for_frames();
end
pipe.stop(); % カメラからの情報取得を停止
color = fs.get_color_frame();
colorData = color.get_data();
colorImage = permute(reshape(colorData',[color.get_width(),color.get_height(), 3]),[2 1 3]);
imshow(colorImage); % RGB画像の表示

採用された回答

Atsushi Ueno
Atsushi Ueno 2023 年 12 月 27 日
depthImage = reshape(depthData',[3,depth.get_width(),depth.get_height()]),[3 2 1]);
colorImage = reshape(colorData',[2,color.get_width(),color.get_height()]),[2 1]);
明らかに、上記リンク先のコードには複数の間違いが含まれています。
  • かっこの数が合わない ⇒ 最初に permute 関数名と括弧を書き忘れている
  • カラー画像はRGB3要素、デプスデータはステレオRL2要素だから、多分2と3が逆
  • 3次元データなので、permute 関数の2番目の引数は共に [3 2 1] のはずで [2 1] になるはずはない
@輝さんのコードはその点修正されていますが、一部は更に変更されています。
  • reshape 関数で「3要素、幅、高さの順」に切る説明なのに「幅、高さ、3要素の順」に変更した
  • 上記の為か、permute 関数で並べ替える次元の順序も [3 2 1] ではなく [2 1 3]に変更した
colorImage = permute(reshape(colorData',[color.get_width(),color.get_height(), 3]),[2 1 3]); % @輝さんのコード
colorImage = permute(reshape(colorData',[3, color.get_width(),color.get_height()]),[3 2 1]); % @kooooooさんのコード(一部修正)
↑↑↑ なので、reshape 関数および permute 関数の並び順変更を試す事を提案します。
【根拠】実行して確かめてないので信頼性に乏しいですが、下記の通り調べた根拠があります
colorData (行列データ) がどの順序で並んでいるか知る必要がありますが、Realsenseのカメラが無いし、あったとしても動かす時間がないし、ネットでデータ構造だけ検索しようとしても、なんかすごく複雑でよくわからない。。。ただなんとなくですが、1画素を構成する3要素のチャンク(塊)データが並んでいる事は確かな様です。MATLABのイメージデータは「行(高さ)、列(幅)、RGB」の順序なので、permute 関数で配列の次元を並べ替える必要があります。
【想定するデータの並び】(11列目){{R,G,B},{R,G,B},{R,G,B}},(12列目){{R,G,B},{R,G,B},{R,G,B}},{{R,G,B},{R,G,B},{R,G,B}},...
  1 件のコメント
輝
2023 年 12 月 28 日
ご回答ありがとうございます。
修正していただいた以下のコードに変更したらうまくいきました。
colorImage = permute(reshape(colorData',[3, color.get_width(),color.get_height()]),[3 2 1]);
ありがとうございます。

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMATLAB Support Package for IP Cameras についてさらに検索

タグ

製品


リリース

R2023b

Community Treasure Hunt

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

Start Hunting!