問題タブ [convexity-defects]

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 投票する
2 に答える
553 参照

visual-c++ - 凸欠陥の例外

次のコードから Convexity Defects を取得しようとしていますが、未処理の例外が引き続き発生します。私は何を間違っていますか?

HullPoints は型ですが、vector<Point> 例外は次のとおりです。

しかし、 vector<Point> defects;またはvector<Vec4i> defects 次の例外が発生します

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

java - OpenCV Java 凸性の欠陥 (Computer Vision)

フレームに凸状の欠陥を置くことに問題があります。それらを計算するために、c++ ソースを変更しました。これがアーカイブしたものです。

ただし、Imgproc.drawContours(...) メソッドには、パラメータとして渡される凸性欠陥が ArrayList である必要があります。どうすれば変換できるのかわかりません。凸包でも同様の問題がありましたが、回避策を見つけました:

凸性欠陥に対する同様の解決策は機能していません。どうすれば問題を解決できるか考えている人はいますか?

MatOfInt4() から ArrayList() に変換して、凸性の欠陥を描画できるようにする方法は?

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

c++ - C++ OpenCV で凸性欠陥から指の数を数える方法

OpenCV を使用して C++ でプログラムを作成しました。このプログラムは、皮膚を認識し、凸包と凸性の欠陥を正常に作成できるようになりました。今、指の数を数えたいのですが、このコードを改善する方法はありますか?
ここで行っているのは、船体ポイントのサイズを見つけることですが、正確な結果が得られません:(

指の数を数える方法がわかりません。どなたか教えてください。

これが私のコードです

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

java - Android の凸性欠陥 OpenCV でエラーが発生するのはなぜですか?

私は Android 開発の初心者であり、OpenCV の初心者でもあります。Androidでの手のジェスチャー認識に関するプロジェクトがあります。その上に凸欠陥を作りたいです。凸性欠陥を行う前に、輪郭と凸包を見つける必要がありました。私はすでにそれらを行っています。今、私は手と指の欠陥を得るために凸欠陥をやっています. しかし、何か問題があります。Android で凸性欠陥のあるコードをビルドすると、残念ながら停止します。凸性欠陥関数が間違っているのか、Point への欠陥 (MatOfInt4) の値を取得する方法が間違っているのかわかりません。

これは私のコードです:

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

c++ - OpenCV: 等高線ベクトル インデックスの処理

関数凸性欠陥を使用して、バイナリ イメージからブロブを取得し、手の周囲のすべての点を含むベクトルを作成します。このベクトルは常にブロブの最も高い Y 位置のポイントから始まり、正確な指の位置を決定するために各指で K-Curvature を実行する機能を妨げています。

ベクトルの始点が手の指から離れた位置から始まるように、ベクトルを再シャッフルすることを考えました。問題は、ポイントの並べ替えを開始するためにハンド上のポイントを選択する効果的な方法がないため、これを実装するのが難しいことです。これを修正する簡単な方法を提供できる提案はありますか? 私の目標は、この配列の開始点から 30 ポイント以内に指先がないようにすることです。

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

c++ - 凸欠陥エラー: CV_32>2、pMat>3、およびセグメンテーション違反

ここに私が Convexity Defects に使用しているコードがあり、その解決策をオンラインで検索しました。

0 投票する
4 に答える
3532 参照

opencv - 凸性の欠陥を取り除く方法は?

輪郭から画像内のオブジェクトを検出して細かく特定しようとしています。私が取得する輪郭には、ノイズが含まれていることがよくあります (背景からの可能性がありますが、わかりません)。オブジェクトは、次のような長方形または正方形に似ている必要があります。

ここに画像の説明を入力

cv::matchShapesシェイプ マッチング ( ) を使用して、ノイズの有無にかかわらず、それらのオブジェクトを含む輪郭を検出すると非常に良い結果が得られますが、ノイズの場合は細かい位置に問題があります。

ノイズは次のようになります。

ここに画像の説明を入力またはここに画像の説明を入力たとえば。

私の考えは、凸欠陥を見つけて、それらが強くなりすぎたら、どうにかして凹みにつながる部分を切り落とすことでした. 欠陥の検出は問題ありません。通常、「不要な構造」ごとに2つの欠陥がありますが、輪郭から何をどこで削除する必要があるかを決定する方法に行き詰まっています.

以下は、いくつかの輪郭、それらのマスク (輪郭を簡単に抽出できるようにするため)、およびしきい値処理された凸性欠陥を含む凸包です。

ここに画像の説明を入力ここに画像の説明を入力ここに画像の説明を入力

ここに画像の説明を入力ここに画像の説明を入力ここに画像の説明を入力

ここに画像の説明を入力ここに画像の説明を入力ここに画像の説明を入力

ここに画像の説明を入力ここに画像の説明を入力ここに画像の説明を入力

ここに画像の説明を入力ここに画像の説明を入力ここに画像の説明を入力

ここに画像の説明を入力ここに画像の説明を入力ここに画像の説明を入力

ここに画像の説明を入力ここに画像の説明を入力ここに画像の説明を入力

ここに画像の説明を入力ここに画像の説明を入力ここに画像の説明を入力

ここに画像の説明を入力ここに画像の説明を入力ここに画像の説明を入力

輪郭を歩いて、輪郭によって「左折」が実行されるかどうかをローカルに判断し (時計回りに歩く場合)、そうであれば、次の左折が行われるまで輪郭ポイントを削除できますか? 多分凸欠陥から始めますか?

私はアルゴリズムまたはコードを探しています。プログラミング言語は重要ではなく、アルゴリズムの方が重要です。

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

opencv - Opencvは輪郭を2つのセクションに分割します

私は Opencv に凸性欠陥のある輪郭 (赤のもの) があり、その輪郭を 2 つの部分に切り取り、その点を水平に横断したいのですが、とにかくそれを行う必要があるので、輪郭を黄色でマークしますか? 問題を説明する画像

ここに画像の説明を入力