Konfiguracja OpenCV w Visual Studio 2015

Założenia

Zakładam, że Visual Studio 2015 jest już zainstalowane, (w innych powinno być podobnie). Dlatego dalsze instrukcję będą dotyczyły konfiguracji OpenCV i dołączania bibliotek do projektu w wersji Debug. We wcześniejszym przykładzie, źródła OpenCV 3.2 i moduły były kompilowane, można również użyć wersji gotowej instalacyjnej. Przytoczone niżej ścieżki są przykładowe, jednak już w momencie zagłębienia w katalogi OpenCV powinno wszystko być identycznie. Samodzielnie definiujemy tylko główny katalog gdzie ma być zainstalowana biblioteka.

Różnice mogę wystąpić w zapisie wersji gdzie np: 3.2.0 może być opisane w nazwach plików jako 320, a przy innej wersji numer będzie inny. Przyrostek „d” w końcówkach nazw bibliotek znaczy Debug, w wersji Release zwykle go nie ma, więc analogicznie opierając się na poniższym opisie można i taką skonfigurować. Wszystko rozjaśni się niżej.

Zakładanie projektu

Po zainstalowaniu Visual Studio i wybraniu nowego projektu File -> New Project -> Visual C++ -> Win32 Console Application i zaznaczamy czysty projekt.

Dodawanie Bibliotek

Gdzie dodać wpisy z bibliotekami.

Wersja instalacyjna.

W VS explorerze, prawy klawisz na nazwie projektu Preferencje w zakładce C/C++ w linijce Additional Include Directories podać ścieżkę np:

C:\OpenCV-3.2.0\build\include

W zakładce Linker w linijce Library Directories wstawić C:\OpenCV-3.2.0\build\x64\vc14\lib

Dalej w zakładce Additional Dependiences

opencv_world320d.lib

dla innych wersji np: 3.4.7 odpowiednio opencv_world347d.lib

Wersja kompilowana.

W VS explorerze, prawy klawisz na nazwie projektu Preferencje w zakładce C/C++ w linijce Additional Include Directories podać ścieżkę np:

d:\OpenCV_Source\build\install\include

W zakładce Linker w linijce Library Directories wstawić d:\OpenCV_Source\build\install\x64\vc14\lib

Dalej w zakładce Additional Dependiences

opencv_world320d.lib

#i/lub dodatkowo

opencv_calib3d320d.lib
opencv_core320d.lib
opencv_features2d320d.lib
opencv_flann320d.lib
opencv_highgui320d.lib
opencv_imgcodecs320d.lib
opencv_imgproc320d.lib
opencv_ml320d.lib
opencv_objdetect320d.lib
opencv_photo320d.lib
opencv_shape320d.lib
opencv_stitching320d.lib
opencv_superres320d.lib
opencv_video320d.lib
opencv_videoio320d.lib
opencv_videostab320d.lib
opencv_aruco320d.lib
opencv_bgsegm320d.lib
opencv_bioinspired320d.lib
opencv_ccalib320d.lib
opencv_datasets320d.lib
opencv_dnn320d.lib
opencv_dpm320d.lib
opencv_face320d.lib
opencv_fuzzy320d.lib
opencv_line_descriptor320d.lib
opencv_optflow320d.lib
opencv_phase_unwrapping320d.lib
opencv_plot320d.lib
opencv_reg320d.lib
opencv_rgbd320d.lib
opencv_saliency320d.lib
opencv_stereo320d.lib
opencv_structured_light320d.lib
opencv_surface_matching320d.lib
opencv_text320d.lib
opencv_tracking320d.lib
opencv_xfeatures2d320d.lib
opencv_ximgproc320d.lib
opencv_xobjdetect320d.lib
opencv_xphoto320d.lib

Dodawanie zmiennych środowiskowych.

Aby dało się uruchomić skompilowane programy, trzeba jeszcze dodać biblioteki łączone dynamicznie (Dynamic-Link Library) tzw.: dll do ścieżki Path w systemie Windows. W tym wypadku jest to dla kompilatora c++ wersji 14 (vc14) oraz dla 64 bitowego procesora. Przykład do wyboru:

Dla wersji instalacyjnej c:\OpenCV-3.2.0\opencv\build\x64\vc14\bin\

Dla wersji kompilowanej samodzielnie d:\OpenCV_Source\build\install\x64\vc14\bin\

Po dodaniu trzeba zrobić restart komputera.

Przykład do testów:

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main( int argc, char** argv )
{
    if( argc != 2)
    {
     cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
     return -1;
    }

    Mat image;
    image = imread(argv[1], IMREAD_COLOR); // Read the file

    if(! image.data ) // Check for invalid input
    {
        cout << "Could not open or find the image" << std::endl ;
        return -1;
    }

    namedWindow( "Display window", WINDOW_AUTOSIZE ); // Create a window for display.
    imshow( "Display window", image ); // Show our image inside it.

    waitKey(0); // Wait for a keystroke in the window
    return 0;
}

Plik wykonywalny exe po skompilowaniu naszego przykładu uruchamia się następująco:
Uruchomić cmd.exe w katalogu Debug naszego projektu (tam są skompilowane pliki exe) i w konsoli wpisać <nazwa programu> <nazwa zdjęcia> <enter>

Dopisanie na stałe argumentu dodawanego w linii komend.

W Visual Studio w oknie Solution Explorer, prawy klikamy prawym klawiszem na nazwie projektu, Preferencje w zakładce Debugging w linijce Command Arguments podajemy ścieżkę do pliku graficznego np: c:/NaszPlik.jpg Teraz za każdym razem, gdy uruchomimy program z poziomu VS będzie załączana komenda, którą jest ścieżka do naszego pliku jpg.

Dodaj komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.