質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.86%

  • Kinect

    82questions

    Kinect(キネクト)はマイクロソフトから発売されたジェスチャー・音声認識によって 操作ができるデバイスです。

Kinectv2 深度画像の色付け

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 182

despell

score 2

現在Kinectv2を用いて開発を行っています.
開発の中で深度画像を用いるのですがサンプルの状態では0から255までのグレーデータで
表示されるようになっていますがこれに疑似カラーをつけて分かりやすくしたいと
考えています. そこでその疑似カラーのつけ方もしくはアルゴリズムを教えてください.

現在はこのような形で初期化と描画を行っています.

// 深度画像関連初期化
void KinectApp::depthinitialize() {

// ソース取得
ERROR_CHECK(Kinect->get_DepthFrameSource(&depthFrameSource));

// リーダー取得
ERROR_CHECK(depthFrameSource->OpenReader(&depthFrameReader));

// 深度画像サイズ取得
ERROR_CHECK(depthFrameSource->get_FrameDescription(&depthFrameDescription));
ERROR_CHECK(depthFrameDescription->get_Width(&depthWidth));
ERROR_CHECK(depthFrameDescription->get_Height(&depthHeight));

std::cout << "create  : " << depthWidth << ", " << depthHeight << std::endl;

// バッファー作成
depthBuffer.resize(depthWidth * depthHeight);

}

// 深度画像関連更新
void KinectApp::updateDepthFrame() {

// Depthフレームを取得する
CComPtr<IDepthFrame> depthFrame;
auto ret = depthFrameReader->AcquireLatestFrame(&depthFrame);
if (ret != S_OK) {
return;
}

// データを取得する
ERROR_CHECK(depthFrame->CopyFrameDataToArray(depthBuffer.size(), &depthBuffer[0]));

}

// 深度画像描画
void KinectApp::drawDepthFrame() {

// Depthデータを表示する
cv::Mat depthImage(depthHeight, depthWidth, CV_8UC1);
cv::Mat harfImage;

// Depthデータを0-255のグレーデータにする
for (int i = 0; i < depthImage.total(); ++i) {
depthImage.data[i] = depthBuffer[i] % 255;
}

cv::imshow("DepthImage", depthImage);

}

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

Kinectは詳しくないので、的外れだったらすいませんが、こちらが参考になるかもしれません。
(「プログラミング サーモグラフィー」で検索したら出ました)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.86%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    出入力c++

    入出力のコードを書いていたのですが、エラーがでてしまいます。 問題点を指摘してくださるとうれしいです。 コード /*  * stream.cpp  *  *  Created on

  • 解決済

    コードを見てダメ出しや指摘などお願いします。

    #include <stdio.h> int main(void){     double a;     double b;        char o;  //演算子    

  • 解決済

    データを整理する際の二次元配列

    2つの変数に対応するデータがある時、二次元の配列にしたいのですが、2つの変数の関数として出る値ではないため、どのようにしたらいいか困っております。 例として、 x     y   

  • 解決済

    C++でのオセロゲームについて

    色々手を尽くしましたが、自力で解決できないため教えていただければと思い質問いたします。 学習のためhttps://gist.github.com/mia-0032/5325961

  • 解決済

    テンプレートマッチングでの最大値の座標

    opencvでテンプレートマッチングを行っています。 以下の流れで、マッチング箇所を囲っているのですが、 最大値の座標が分からないため、cvrectangle内の+ temp

  • 受付中

    Ruby(mruby)とvector等のC++のSTLを連携させるには?

    Ruby(mruby)とC++を連携させようと考えています。 int等、C++のプリミティブ型や関数、クラスを連携させるのは mrubybindという外部のソースコードを 借り

  • 解決済

    OpenCVで白色を抽出する方法とその方法のメリットを知りたい

     知りたいこと OpenCVで白色を抽出したいです。一通り調べましたが、その方法がまだ定まりません。下記の方法ののどれが良いでしょうか?又、そのメリットは何でしょうか?  方法

  • 解決済

    OpenCVを使った笑顔検出での問題

    前提・実現したいこと OpenCVで元からあるサンプルコード「smiledetect.cpp」を用いて笑顔検出のシステムを作っています。 検出機能を実装中に以下の問題が発生しました

同じタグがついた質問を見る

  • Kinect

    82questions

    Kinect(キネクト)はマイクロソフトから発売されたジェスチャー・音声認識によって 操作ができるデバイスです。