Visual Studio 2013でopencvコンソールC++プログラムをコンパイルします。これは私のコードです。
#include "stdafx.h"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, const char** argv)
{
Mat img = imread("rgb_1.png", CV_LOAD_IMAGE_UNCHANGED); //read the image data in the file "MyPic.JPG" and store it in 'img'
if (img.empty()) //check whether the image is loaded or not
{
cout << "Error : Image cannot be loaded..!!" << endl;
//system("pause"); //wait for a key press
return -1;
}
namedWindow("MyWindow", CV_WINDOW_AUTOSIZE); //create a window with the name "MyWindow"
imshow("MyWindow", img); //display the image which is stored in the 'img' in the "MyWindow" window
waitKey(0); //wait infinite time for a keypress
destroyWindow("MyWindow"); //destroy the window with the name, "MyWindow"
return 0;
}
ComputerとVisual Studioの両方のディレクトリのプロパティですべてのディレクトリを定義しましたが、"The program can't start because opencv_world300.dll is missing from your computer."
エラー。
この問題を修正するにはどうすればよいですか?
ありがとう
Windowsでは、次からコピーできます。
<your install directory>\opencv30\build\x64\vc12\bin
そして、それをあなたのVisual Studioソリューションに入れます(あなたはx64/Release構成を使用していると思います):
<your solution directory>\x64\Release
または、上記のOpenCVをPATH環境変数に追加できます
同じ問題がありました。
バージョン_320
_を使用しています。すべての環境変数を設定したら、_Additional Include Directories
_、_Additional Library Directories
_、および_Additional Dependencies
_がすべて正しいことを確認してください。私にとっては、それぞれ$(OPENCV_BUILD)\include;
、$(OPENCV_BUILD)\x64\vc14\lib;
、_opencv_world320d.lib;
_でした。
_OPENCV_BUILD
_パス変数は、環境変数を_C:\opencv320\build
_に設定する_%OPENCV_BUILD%\x64\vc14\bin
_ (。dllファイルが置かれている場所)です。 Additional
を取得するには、プロジェクト/ソリューションを右クリックして、最初に_properties -> C/C++
_を選択し、他の2つに_properties -> Linker -> General
_とInput
を選択します。
Visual Studioを再起動そして、すべてが正しく実装されていれば、プログラムを実行でき、起動するはずです。
編集:
あなたが使用したものに応じて、_x86
_ドロップダウンで_x64
_から_Solution Platforms
_に切り替える必要がありました。
システム変数を確認して、opencv_world300.dll
が見つかりました(おそらくC:\opencv\build\x64\vc12\bin
)が存在します。
存在するが、それでも問題が解決しない場合は、すべての.dll
ディレクトリへのファイルC:\WINDOWS\system32
この質問がまだ関連する場合、私は方法を見つけました。
OpenCV
Webサイトのチュートリアルを使用してOpenCV
をセットアップしたと思います。コマンドプロンプトを実行してコマンドを実行すると、OpenCV
の環境変数が作成されますが、パスには追加されません。そのため、パスに移動してvc12(私の場合はvc14)にビンの場所を追加し、保存してからVisual Studioを再起動すると機能します。
私はこれを古い投稿を知っていますが、私のものにlib
とbin
を区別する問題があることに気づいたので、両方をPATH変数に追加し、それが機能しました。
みんなが言うようにパスを追加し、Visual Studioを再起動することを忘れないでください。すべてのパスを追加し、すべてのopencv_world.dllをソースファイルと同じフォルダーにコピーしようとしても、すべてのパスを追加した後にVisual Studioを再起動するだけでした。
これらの手順 に従ってVS 2017で使用するためにOpenCVバージョン3.4.1をインストールした後、Visual Studioはopencv_world341d.dll
がないことについて不満を言いました。 C:\opencv\build\x64\vc15\bin
をWindowsのPATHに追加しましたが、PATHを変更したときにVSが既に開いていたため、Visual Studioはそれを見つけることができませんでした。 Visual Studioを再起動すると、問題が修正されました。
バージョン320を使用してもまったく同じ問題が発生しました。私の場合、「Comodo Internet Security」は、アプリケーション自体とOpenCVのいくつかのものをブロックしていました。ファイアウォールでそれらを右クリックして、すべてを「信頼済み」リストに追加してください。