何日も良いガイドを探してきましたが、Qt と OpenCv の最新リリースのガイドが見つかりません。両方ともとても良いと聞いたので、この2つでプロジェクトを作りたいと思っています。私は Qt と OpenCv の初心者なので、順を追って教えてもらえますか?
1 に答える
私はかなり長い間これに苦労してきましたが、今朝はうまくいきました。私は、この素晴らしいコミュニティに恩返しをしたいと考えました (このコミュニティは多くの場面で私を助けてくれました)。楽しみ!
私は qt5 と opencv 2.4.3 を機能させるために多くの時間を費やしてきました (実際には、私が機能させる前に opencv 2.4.4 をリリースしていました)。これまでで最高のものはこれだったので、大きな信用と感謝の気持ちを込めて:
http://www.laganiere.name/opencvCookbook/chap1s1_2.shtml
このチュートリアルがどれだけ役に立ったかは強調しきれません。私はこのガイドを補足として書いています。ほとんどの場合、コンパイラとライブラリへの更新されたパスを提供し、途中で発生したエラーを処理する方法を説明しています。写真と詳細な手順については、クックブックのチュートリアルを使用してください。
しかし、私がほのめかしたように、物事は無痛ではなく、指示に従って進んだので、問題を解決するために私がしたことを共有すると思いました。
注: 私は半分の時間で何をしているのか完全にはわかりません。疑わしいときは直感に従う傾向があるので、知識と経験が豊富な人が不正確なことを見つけたら教えてください。修正します. これは単に私がやったことであり、私にとってはうまくいきました。現在、C++を使用してqt Creator 5でopenCVプログラムを構築しています。
次のパスを使用しました。
Qt: C:\ソフトウェア\Qt
OpenCV 解凍ディレクトリ: c:\software\opencv-win
OpenCV インストール ディレクトリ: c:\software\opencvMinGW
ダウンロード:
まず、最新の qt ライブラリと作成者を MinGW でダウンロードします (私の場合は 5.0.1)。
次に、openCV をダウンロードします。私の場合は 2.4.4 でした。
CMake をダウンロードします (現時点ではバージョン 2.8.10.2)。
インストール:
Qt をインストールします (これにはかなり時間がかかります)。
必要なすべてのファイルを抽出する openCV exe を実行します。前述のとおり、C:\software\opencv-win を展開先の場所として使用しました。
CMake をインストールします。「すべてのユーザーのシステム パスに CMake を追加する」(または同様のもの) を必ず選択してください。
システム変数のパスに C:\software\qt\5.0.1\mingw47_32\bin (または同等のもの) を追加します (これを行う方法は、最初にリンクしたガイドに記載されています)
コンピューターを再起動。
OpenCV のコンパイル:
Cmake-gui を起動します。「ソースコードはどこですか」の下で、opencv を解凍した場所 (私の場合は C:\software\opencv-win) を参照し、「バイナリをビルドする場所」で、完成したライブラリが必要な場所を入力します (私はc:\software\opencvMinGW を使用)、[生成] をクリックしてディレクトリを作成します。ポップアップ ウィンドウで、[MinGW makefiles] と [Specify native compilers] を選択します。C では、パスは「C:/software/qt/Tools/MinGW/bin/gcc.exe」になり、C++ では「C:/software/qt/Tools/MinGW/bin/g++.exe」になりました。 Qt をインストールした場所に応じて入力します。
構成を押します。
これが私にとって物事がファンキーになった場所です。次のようなエラーが表示されました。
「CMake エラー: CMake は "MinGW Makefiles" に対応するビルド プログラムを見つけることができませんでした。CMAKE_MAKE_PROGRAM が設定されていません。おそらく、別のビルド ツールを選択する必要があります。 ".CMAKE_MAKE_PROGRAM が設定されていません。おそらく、別のビルド ツールを選択する必要があります。CMake エラー: 内部 CMake 変数が設定されていないエラーが必要です。cmake が正しくビルドされていない可能性があります。変数がありません: CMAKE_CXX_COMPILER_ENV_VAR CMake エラー: cmake モジュール ファイルが見つかりませんでした:C:/software/opencvMinGWblah/CMakeFiles/2.8.10.2/CMakeCXXCompiler.cmake CMake Error: Error required internal CMake variable not set, cmake may not be built correctly. Missing variable is: CMAKE_C_COMPILER_ENV_VAR CMake Error: Could not find cmake module file :C:/software/opencvMinGWblah/CMakeFiles/2.8.10.2/CMakeCCompiler.cmake 設定が不完全です。エラーが発生しました!"
これはmakeプログラムに関係しているのではないかと思いました。当たり前。しかし、それを修正する方法は?
「詳細設定」ボタンをチェックし、エントリCMAKE_MAKE_PROGRAMを見つけ、パス「C:/software/qt/Tools/MinGW/bin/mingw32-make.exe」を指定して解決しました
終わりよければすべてよし。またはそれは?
「グループ化」ボタンをチェックし、WITH カテゴリを開き、「WITH_QT」をチェックします。構成を押します。エラーの別のチャンク:
C:/software/CMake 2.8/share/cmake-2.8/Modules/FindQt4.cmake:615 (メッセージ) での CMake の警告: C:/software/qt/5.0.1/mingw47_32/bin/qmake.exe が QT_INSTALL_LIBS を " C:/software/qt/5.0.1/mingw47_32/lib」ですが、そこに QtCore が見つかりませんでした。ターゲット ビルド環境に Qt が正しくインストールされていません。コール スタック (最新の呼び出しが最初):
cmake/OpenCVFindLibsGUI.cmake:8 (find_package) CMakeLists.txt:377 (インクルード)
そのため、エラー メッセージから推測できるように、プログラムはライブラリを見つけることができません。これを次のように修正しました。カテゴリ QT を展開し、値 QT_QTCORE_LIBRARY_DEBUG を見つけて、次のように入力します。
「C:/software/qt/5.0.1/mingw47_32/bin/Qt5Cored.dll」のすぐ下に QT_QTCORE_LIBRARY_RELEASE があり、「C:/software/qt/5.0.1/mingw47_32/bin/Qt5Core.dll」と入力します。 " 今、警告なしで構成を (できれば) 押すことができます。その後、生成を押すことができます。すべてがうまくいき、クックブックのチュートリアルに従うことができます。
ところで、これらはシステム変数に追加した追加のパス変数です。わかりませんが、そのうちのいくつかは不要かもしれませんが、すべてが最終的に機能するようになったときに、それらをいじり始めるつもりはありません。
C:\software\qt\Tools\MinGW\bin;
C:\software\Qt\Tools\MinGW;
C:\software\opencvMinGW\install\bin;
次のように、DLL 名を 231 ではなく 244 に変更する必要があることを忘れないでください。
LIBS += -LC:\\software\\opencvMinGW\\install\\lib \
-lopencv_core244.dll \
-lopencv_highgui244.dll \
-lopencv_imgproc244.dll \
-lopencv_features2d244.dll \
-lopencv_calib3d244.dll
これが誰かに役立つことを本当に願っています!
編集: 上記のリンクはもう機能しません。このリンクは役に立ちます ( https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows )