問題タブ [opencv3.1]
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.
python - ハフ変換が正しい円を検出しない
私は信号機(明らかに円)を検出しなければならないプロジェクトに取り組んでいます。現在、スポットから拾ったサンプル画像を使用していますが、すべての努力の後、適切な円 (光) を検出するコードを取得できません。
コードは次のとおりです。
円を検出したい画像-
これは出力イメージです:-
ハフ変換でガウスぼかし半径値と minDist パラメータを試してみましたが、あまり成功しませんでした。
誰かが私を正しい方向に向けることができますか?
PS- トピック外の質問もありますが、私のプロジェクトにとって重要なものもあります-
1. 私のコンピューターは、最終的な画像を表示するのに約 6 ~ 7 秒かかります。私のコードは悪いですか、それとも私のコンピュータは悪いですか? 私のスペックは - Intel i3 M350 2.6 GHz (第 1 世代)、6GB RAM、Intel HD グラフィックス 1000 1625 MB です。
2. ハフ変換は、バイナリしきい値処理された画像で直接機能しますか?
3. このコードは、Raspberry Pi 3 でリアルタイムに実行できるほど高速に実行されますか? (移動する自律型ロボットに搭載する必要があります。)
ありがとうございました!
python - 関数を呼び出さないトラックバーを作成するには? OpenCV 3.1 と Python 2.7
画像のしきい値を設定しようとしています。cv2.createTrackbar
関数 as- を使用しました
cv2.createTrackbar('High H','image',0,179, None)
。
今、最後の部分は私が問題を抱えているものです。さらに私のコードではhighH = cv2.getTrackbarPos('High H','image')
、トラックバーの値を取得してcv2.inRange
関数で使用しています。したがって、関数の最後の引数として関数を呼び出す必要がないことは明らかです。問題は、関数を入力できないように見えることです。最後の部分を削除しようとしましたが、エラーが発生しました-
cv2.createTrackbar は 5 つの引数でのみ機能します。与えられたのは4つだけです。
うーん、一部をスキップすることはできないようです。
次に、コールバックを試しましたが、何もしませんでした。このエラーが発生しました:-
何も使用しない場合:- NameError: name 'nothing' が定義されていません
callback を使用する場合:- NameError: name 'callback' が定義されていません
しばらくして、Noneを使用してみました。このエラーが発生しました:-
TypeError: on_change は呼び出し可能でなければなりません
cv2.createTrackbar
では、関数を呼び出さずに関数を使用するにはどうすればよいでしょうか?
ありがとう!
c++ - VisualStudio 2010 - Dll エラー: __vcrt_cleanup_type_info_names
Windows 64 ビットの Visual Studio 2010 で OpenCV 3.1 を使用しています。最近、Cmake を使用して OpenCV を再構築しましたが、コンパイルしようとすると次のエラーが表示されます。
No se encuentra el punto de entrada del procedimiento __vcrt_cleanup_type_info_names en la biblioteca de vínculos dinámicos VCRUNTIME140D.dll
私は使っている
- opencv_world310d.dll
- opencv_ffmpeg310_64.dll
OpenCV 3.0 の公式バージョンで同じコードをコンパイルしたとき、この問題は発生しませんでした。これについて何か考えはありますか?
前もって感謝します。
python - 問題: OpenCV + Python を使用したビデオ内での車検出のための Bag of Features トレーニング SIFT または SURF
車を検出するために、SIFT または SURF を使用して車のキーポイントをダンプし、これらのキーポイントをビデオと照合しようとしています。キーポイントは、Haar Cascades の代わりに使用する方が便利です。トレーニングには、たとえば 5000 などの多くの画像を使用する必要があり、多くの計算プロセスが必要になるからです。SURF または SIFT のキーポイントはスケール不変であり、すべての車でほぼ同じです。
キーポイントを txt ファイルにダンプするコードは次のとおりです。
その後、私が持っているビデオで生成したtxtファイルのこれらのキーポイントを一致させる方法がわかりません。ブルートフォースおよびKNNマッチャーとして多くの機能マッチングアルゴリズムがあり、SVM分類子としての分類子もあり、読みながら使用されます多くの論文で
この画像でキーポイントを抽出しようとしましたが、txt ファイルに抽出されたキーポイントは、この [GitHub][3] リンクにあり、車を検出するために必要なコードとビデオが含まれています。
この車のキーポイントをビデオ ('traffic.avi') の車と一致させる方法を教えてください。
Bag of Visual Words メソッドを使用して車を検出したい、そうしようとしたが、コーディングの方法がわからない
注: OpenCV 3.1 と Python 2.7.x を使用しています。
opencv - Visual Studio 2015 を使用して Windows 10 で OpenCV 3.1 用の x64 ライブラリをビルドする
OpenCV Web サイトから OpenCV 3.1 をダウンロードし、静的 x64 ライブラリを構築しようとしています。ここで概説されている手順に従っていますが、
http://docs.opencv.org/3.1.0/d3/d52/tutorial_windows_install.html#gsc.tab=0
CMake 3.5 を使用して VStudio の SLN/Project ファイルを生成しています。CMake によって生成されるデフォルトのソリューション構成である 32 ビットの静的ライブラリをコンパイルするのに問題はありませんでした。ただし、構成マネージャーでビルド ターゲットを「x64」に変更しようとすると、複数のリンケージ エラーが発生し、ほとんど何もコンパイルされません。
正しいプロジェクト ファイルを生成するための CMake の構成オプションが不足していますか? 誰かがこのプロセスを経験したことがあれば、助けていただければ幸いです。
乾杯
c++ - 接続されたコンポーネントのスケルトン
私は、C++ で OpenCV 3.1.0 を使用して、数字のスケルトンからの特徴抽出に取り組んでいます。スケルトン画像の閉じた輪郭の数を取得する方法を探しています (たとえば、8 の場合は 2、0,6,9 の場合は 1、1,2,3,4,5,7 の場合は 0)。connectedComponents()
8 ウェイ接続で OpenCVの方法を使用しましたが、期待した結果が得られませんでした。すべての画像で常に2つの接続されたコンポーネントを取得します。問題は、形状の内側と外側が 8 方向に接続されているため、1 つのコンポーネントと見なされることです。
この画像は主な問題を説明します:
これらの機能を取得するソリューションはありますか?
machine-learning - バイナリ分類に OpenCV RTree を使用するには?
RTrees API は、バージョンごとに変更されているようです。RTrees 2.4.1のドキュメントには、回帰と分類の両方をサポートしていると書かれていますが、それがどのように可能かはわかりません。
OpenCV 3.1 で RTrees をバイナリ分類子として使用したいのですが、ドキュメントにはそれについて何も書かれておらず、RTrees::isClassifier() は false を返します。
編集:さらに足を踏み入れて、OpenCV のソース コードを調べました。 クラスを拡張する objectRTrees
の隠し実装を作成します。このクラスはメンバー変数を管理し、 に与えられた TrainData の応答タイプに従って設定します。DTReesImplForRTrees
DTreesImpl
_isClassifier
train()
OpenCV ソース コードの tree.cpp から
現時点では、これを返すように TrainData オブジェクトを構成する方法はありません。おそらく、トレーニング クラスが整数ではなく浮動小数点数として格納されているためでしょうか? 私の記憶が正しければ、データ型は CV_32F である必要がありましたが、どこかでエラーを起こした可能性があります。
c++ - 値のピクセルを int と比較する
さんにMat Dist
( CV_8U
) をしてもらいましたdistanceTransform
。
ここで、の各座標を確認し、別の値を変更する必要がありDist
ます> 0
Mat M = Mat :: zeros
コードは
しかし、私はcv ::例外をエラーにします。
ドキュメントなどを調べて、 uchar から vec3b に変更しようとしました。Visual Studio 2015 で例外を変更しましたが、何も変更しませんでした。どこが間違っていますか?
c++ - opencv 3.1 cuda 7.5 ビルドでエラーが発生しました。LNK2019. リンカーはVS 2013で大丈夫です
知るためだけにビルドするのは初めてではありませんopenCV
:) 今、私はcMake
貢献しlib.-s
て独自のライブラリを作成しましCUDA 7.5
た。私は64ビットを構築し、コンパイラはVS 12 2013 x64
(64ビットでコンパイルされていない場合は使用できない読み取りCUDA lib.-s
です)。
多くのチュートリアルなどと同じように、以前と同じようにしましたが、opencv_videoio300.dll
. 私はlibを持っていますが、他には何もありません。
INSTALL
これは、ビルド全体で唯一のエラーです。何が問題なのかわかりません。なにか提案を?
32ビットでは、すべてがopenCV
バイナリで完璧ですlib.-s
が、32ビットではコンパイルできませんopencv_cudaarithm300.dll
.copencv_cudawarping300.dll
とopencv_cudalegacy300.dll
;
今、私は と を使用して通常のビルドを行う必要がある状況にありOpenCV 3.1
、CUDA 7.5
32 ビットか 64 ビットかは気にしません」. 私は今絶望的です