問題タブ [opencvsharp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
7466 参照

c# - OpenCv: 複数の一致を見つける

私は次のものを持っていますが、ソース画像ですべての一致を見つける方法がわかりません。

すべての試合ではなく、最良の試合の概要を説明できます。どうにかしてすべての試合を取得する必要があります。

0 投票する
0 に答える
1699 参照

c# - CvMat で OpenCVSharp HoughLines2 メソッドを使用すると問題が発生する

OpenCVSharp 2.3 を使用していますが、CvMat と Cv.Houghlines2 Method の使用で問題が発生しています。HoughLines2 は、作成中の CvMat オブジェクトを受け入れません。以前に Cv.MemStorage 構造を使用しましたが、これは機能しますが、検出する行数に制限を設定することはできませんか??

私はこのようなことを試しました:

またはPPHLを使用

そして、私は常に同じ例外を受け取ります。これは明らかに C# の例外です。

エラー: 値を null にすることはできません。パラメータ名:ptr

このようなことをしようとしても

私は常に同じ例外を受け取りますが、これは明らかに正しくありません。

また、OpenCVSharp のソース コードで間違ったコードがないか検索しましたが、すべて有効なようです?!

それで、私は何を間違っていますか?? 同じ経験をした人はいますか?


わかりました、私はこの問題の解決策を自分で見つけました:

ラッパーには、HoughLines2 関数のアンマネージ呼び出しが行われる位置にいくつかのエラー コードがあります。

有効な CvMat オブジェクトが lineStorage 構造体として選択されている場合、HoughLines2 は nullPtr を返します。これは、このメソッドの最後の行で CvSeq オブジェクトを構築するのに有効ではありません!! これは変更する必要があります。結果ポインターが有効なポインターであるかどうかを確認し、戻り値を処理します。これは null の場合もあります。

私は代わりに CvInvoke.Houghlines2(...) を使用し、その問題を自分で処理します。そして、それはうまく機能します:)!

0 投票する
0 に答える
1871 参照

c# - opencvsharp を使用したメモリ リーク

そのため、 opencvsharpを使用して拡張現実トラッカーを作成しようとしていますが、メモリ リークの問題が発生しています。

カメラ画像から四角形を識別しようとしています (これは私のマーカーです)。問題のコードが

問題のある行は次のとおりです。

および/または

ただし、グローバル変数に保存されていないため、メソッドの最後に到達するとメモリが解放されると予想されるため、何が間違っているのかわかりません。

このバグである可能性があります。その場合、大学でのいくつかのコースを除いて、アンマネージ コードを使用したことがないため、それを修正するための技術的な専門知識が不足していると思われます。ただし、追加情報の下にリストされている修正を実装しようとしましたが、うまくいかなかったので、問題の原因ではないのではないかと考えています。

0 投票する
0 に答える
1199 参照

compiler-construction - OpenCVSharp と Unity3d: 内部コンパイラ エラー

Unity3D でウェブカメラとブロブ検出を使用したいと考えています。OpenCVSharpがオプションになる可能性があることをどこかで読みましたが、dllの追加に問題があります。

内部コンパイラ エラー。詳細については、コンソール ログを参照してください。出力は: 警告 CS1685: 定義済みの型 'System.Runtime.CompilerServices.ExtensionAttribute' があいまいです。「System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e」の定義を使用 E:\Program\Unity\Editor\Data\Mono\lib\mono\unity\System.Core.dll ( C:\Users...\Unity Projects\Game\Assets\Plugins\OpenCVSharp\OpenCvSharp.CPlusPlus.dll (前回の警告に関連するシンボルの場所)

Unity3D から OpenCVSharp を取り出さずにこのエラーを修正する方法はありますか?

0 投票する
0 に答える
2129 参照

opencv - OpenCV を使用したグリッド検出

チェス盤のビデオ ストリームでグリッド ビューを実行するために使用できる OpenCV またはその他の画像処理ツールに既存の機能はありますか? 最終的には、各チェス ブロックを追跡し、プレイヤーがどのような動きをしたかを確認したいと考えています。Googleで正確なリンクを見つけることができないようですが、それが起こるのを見たので可能です。返信をお待ちしております。

0 投票する
1 に答える
1658 参照

mouseevent - openCVsharp のマウス クリック イベント

openCVsharp メソッドを使用して、C# でウィンドウ内および開いたウィンドウ内でマウスの位置を取得しようとしています。

まず、コールバック関数を定義します。

次に、開始フェーズでウィンドウを開き、そのコールバック関数をそれに割り当てます。

ただし、開いているウィンドウでのマウス クリックでは、コールバックは呼び出されません。

Google で検索してみましたが、opencvsharp のサンプル コードや手順は見つかりませんでした。そして、openCVでは単なる通常のコールバックメソッドであるため、そのCVmousecallbackは必要ありません-openCVsharpでこれを実行する方法を見つけることができませんでした。

誰かがopenCVsharpでそれをしましたか?

0 投票する
0 に答える
475 参照

c# - AccessViolationException エラー

1つお聞きしたいのですが、Marshal.ReadByteを使い疲れた時、「保護されたメモリを読み書きしようとしています。これは多くの場合、他のメモリが壊れていることを示しています。」というエラーが出ます。この問題を解決できません。助けてください。これが私のコードです。

0 投票する
2 に答える
1406 参照

c# - opencvsharpを使用してマウスクリックの位置を取得するにはどうすればよいですか?

IplImage でのマウス クリックの位置を取得したいと考えています。私はそれを探しましたが、何も見つかりませんでした。openCVsharp メソッドを使用して c# でマウスの位置を取得するためのソースはありません。だから私は何かを試しました。コードが開始されると、その時点で待ち時間を待っています。マウスでクリックしますが、何も起こりません。そして、waitkey の後、コードは停止します。IplImage でマウス クリックの位置を取得する方法はありますか?

0 投票する
1 に答える
661 参照

image-processing - openCV を使用してパターン化された領域を検出する

特定のパターンを持つ領域を検出する必要がある画像処理の問題に取り組んでいます。画像には、パターン以外の有用な情報はまったくありません。色がない、テンプレート マッチングの方法がない、照明条件の恐ろしい変化、影などです。sobel 演算子を使用すると、相対的に一貫性のある画像が得られます。

ここに例があります

これらの交差領域を検出するには、どのようなアプローチを使用できますか? 画像には他にも多くのものがあるため、強度に基づくブロブ検出はオプションではありません。

どんな助けやヒントも素晴らしいでしょう!ありがとう!

0 投票する
1 に答える
12997 参照

opencv - SVD を介してエッセンシャル マトリックスから翻訳を抽出する正しい方法

私は自分のカメラを調整し、固有パラメータ (K) を見つけました。また、ファンダメンタル マトリックス (F) を計算しました。

今 E= K_T* F * K 。ここまでは順調ですね。

ここで、Essential Matrix(E) を SVD に渡し、分解値 (U、W、V) を使用して回転と平行移動を抽出します。

** 質問) この時点で、2 つの方法が提案されており、どちらが本当に正しい答えを出すのか、特に翻訳に関して混乱しています。

最初の方法では、ここにリンクの説明を入力します。著者は、R、T を次のように計算することを提案しています。

ここに画像の説明を入力

しかし、2 番目の方法 [ http://isit.u-clermont1.fr/~ab/Classes/DIKU-3DCV2/Handouts/Lecture16.pdf]では、著者は、以下に示すように +U 、 -U である T の別の式を提供しています。

ここに画像の説明を入力

openCv ライブラリを使用して C# .Net でこれを実装しています。どの変換式が正しいものか知っている人はいますか?