「kinect for windows」で開発をしています。
現在、PCを2台用意し、1台にはwebカメラ、もう1台にはkinectをつなぎ、kinectを用いて背景マスクした人物像を
もう1台のwebカメラで取得した映像に合成するというシステムを開発しようとしています。
kinectで背景マスクし、人物像を取り出すところまではできたのですが、webカメラの映像を背景に合成する方法がわかりません。
開発環境は
OS:Windows 7(64bit)
tool:Visual Studio 2010 (c#)
です。
最終的には2台をIP通信で、ビデオ電話できるようにしたいと思っています。
c#かc++での開発を考えています。
初心者なのでわかりやすーく教えていただけると本当に助かります!
よろしくお願いします。
kinect for windows 開発
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: kinect for windows 開発
申し訳ありませんがマルチポストはフォーラムルール違反となっています。
http://dixq.net/board/board.html
相互にリンクして頂ければ問題ありませんのでお願いします。
「現在「kinect for windows」で開発をしています。 現在、PCを2台用意し、1台にはwe... - Yahoo!知恵袋」
http://detail.chiebukuro.yahoo.co.jp/qa ... 1390934028
http://dixq.net/board/board.html
相互にリンクして頂ければ問題ありませんのでお願いします。
「現在「kinect for windows」で開発をしています。 現在、PCを2台用意し、1台にはwe... - Yahoo!知恵袋」
http://detail.chiebukuro.yahoo.co.jp/qa ... 1390934028
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: kinect for windows 開発
リンクを確認しました。
取り出せた人物画像の背景がアルファチャンネルで透明か一色で塗られていれば合成は可能だと思いますが、webカメラの映像はOpenCVなどで処理しているのでしょうか?
取り出せた人物画像の背景がアルファチャンネルで透明か一色で塗られていれば合成は可能だと思いますが、webカメラの映像はOpenCVなどで処理しているのでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
revo
Re: kinect for windows 開発
kinectの人物背景画像は白一色で塗りつぶしています。
webカメラ映像にはまだOpenCVも何も処理を行っていません。
私の甘い考えだと、取得したwebカメラ映像にそのまま人物像を重ねればいいのかな、なんて思っていたのですが
こちらにも処理をかける必要があるのでしょうか?
// 出力バッファ(初期値は白(255,255,255))
byte[] outputColor = new byte[colorPixel.Length];
for (int i = 0; i < outputColor.Length; i += Bgr32BytesPerPixel)
{
outputColor[i] = 255;
outputColor[i + 1] = 255;
outputColor[i + 2] = 255;
}
私の甘い考えだと、取得したwebカメラ映像にそのまま人物像を重ねればいいのかな、なんて思っていたのですが
こちらにも処理をかける必要があるのでしょうか?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: kinect for windows 開発
Webカメラの表示ウィンドウと人物画を表示する透明ウィンドウを重ね続ければ可能ですが、ウィンドウ移動中ズレたり何かの拍子に表示順番が逆になれば人物が消えますね。
不安定なのであまり使わない方法です。
「フォームウィンドウの特定の色を透明にする: .NET Tips: C#, VB.NET」
http://dobon.net/vb/dotnet/form/transparencykey.html
不安定なのであまり使わない方法です。
「フォームウィンドウの特定の色を透明にする: .NET Tips: C#, VB.NET」
http://dobon.net/vb/dotnet/form/transparencykey.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
revo
Re: kinect for windows 開発
そうなんですか。
安定したシステムを作りたいので、ただ重ねるのは避けようと思います。
他にどのような処理方法が考えられるか教えていただけませんでしょうか?
安定したシステムを作りたいので、ただ重ねるのは避けようと思います。
他にどのような処理方法が考えられるか教えていただけませんでしょうか?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: kinect for windows 開発
C++とOpevCVなどでWEBカメラの映像を取り込んで1つのウィンドウで合成すれば良いと思いますが、WEBカメラの取り込む部分だけC++/CLIとOpenCVで作って他部分はC#で行うということも可能だと思います。
[補足]
OpenCvSharpと言うC#用のライブラリもあります。
[補足]
OpenCvSharpと言うC#用のライブラリもあります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。