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

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

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Q&A

0回答

3615閲覧

OpenCV.Matクラスに格納した画像データをnumpy.NDarrayに渡したい

ishi_nan

総合スコア4

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

0グッド

0クリップ

投稿2019/08/23 07:06

編集2022/01/12 10:55

前提・実現したいこと

C#上で、webカメラから得た画像を基に動体検知を行おうとしています。
画像読み込み用にOpenCVSharpを、データ操作用にNumpy.netをそれぞれ導入し、
コードを組もうと考えたのですが、ライブラリ間のデータの受け渡しで躓いています。

発生している問題・エラーメッセージ

カメラから取り込んだ画像はOpenCV.Matクラスへいったん格納されています。
動体検知(前後フレームを比較し、差分の出た座標の値が255、
それ以外は0となるよう2値化する)を行った後、反応が出た範囲に矩形を描画するため
numpy配列NDarrayにデータを渡したい
矩形の描画に必要な4点の座標を得るべく、反応が出た座標のx軸,y軸それぞれの
インデックスを得るためのnumpy関数np.whereにデータを渡したいのですが、
この2クラス間でデータを受け渡すにはどうすればよいでしょうか?

該当のソースコード

c#

1using OCS = OpenCvSharp; 2using Numpy; 3 4//わけあってプログラム内でcv.ImReadが使用できず、Bitmap形式で 5//カメラの映像を受け取っています 6OCS.Mat cap = new OCS.Mat(); 7Bitmap bmp = new Bitmap(); //仮の宣言 8cap = OCS.Extensions.BitmapConverter.ToMat(bmp); 9 10~ 11//動体検知部 12~ 13 14//矩形描画のための座標算出部 15int[] x, y; 16//ここでnp.whereへMat形式のデータを放り込めずエラー 17np.where(cap > 200, y, x);

試したこと

'OpenCVsharp','numpy','Mat','NDArray'等のキーワードで検索しましたが、
C#上で適用できる方法は見つかりませんでした
ご提示いただいた'Numsharp'を試してみましたが、使用したい関数np.whereを記述したところ
"CS0117 'np' に 'where' の定義がありません"とのエラーが出たため、断念しました

補足情報(FW/ツールのバージョンなど)

OS:Win10
開発環境:VS2019
言語:C#、.NetFrameWork4.6.1
ライブラリ(NuGetパッケージマネージャより):'OpenCvSharp(Ver3,Ver4)',
'Numpy.Bare','Numsharp'

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bsk

2019/08/23 09:26

画像への矩形描画だけならoepncvの機能で可能なのですが敢えてnumpy使う理由があるのでしょうか。 C#版のopencvは利用したこと無いですが大抵の画像操作はopencvの機能に備わっています。
hihijiji

2019/08/23 09:29

NumPy.netの代わりにNumSharpじゃだめですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問