OpenCV環境搭建及簡單示例

@(圖形圖像)[opencv]
視頻鏈接

01 - Getting Setup in Visual Studio 2015 for Windows Desktop

環境配置

  1. 搭建環境變量:
    • OPENCV3_DIR,值爲...\opencv\build
    • Path,值爲...\opencv\build\x64\vc14\bin
  2. VS裏新建project:Visual C++ — Win 32 Console Application(VS 2017版本里要選Windows Desktop Wizard) — Empty project
  3. Solution Explorer裏給source files裏add一個main.cpp
  4. x64來buildAlt text
  5. 右擊 Solution Explorer裏的該project名—Properties
    • C/C++—Additional Include Directories—$(OPENCV3_DIR)\include。注意這一步之前一定已經添加了main.cpp,否則沒有這個選項。
    • Linker—Additonal Library Directories—$(OPENCV3_DIR)\x64\vc14\lib
    • Linker—Input—Additional Dependencies—opencv_world330d.lib(注意這裏的文件名以自己的版本爲準)

示例代碼-show a picture

此爲相對路徑,圖片放在該project的main.cpp同級目錄下

#include "opencv2\opencv.hpp"

using namespace cv;

int main(int argc, char **argv)
{
    Mat a = imread("test.jpg", CV_LOAD_IMAGE_UNCHANGED);
    imshow("title", a);
    waitKey();
    return 0;
}

02 - Loading, Showing, Saving

#include "opencv2\opencv.hpp"

using namespace cv;

int main(int argc, char **argc)
{
    Mat testColor = imread("test.jpg", CV_LOAD_IMAGE_COLOR);
    Mat testGray = imread("test.jpg", CV_LOAD_IMAGE_GRAYSCALE);
    imshow("color", testColor);
    imshow("gray", testgray);
    imwrite("output.jpg", testGray);
    return 0;
}

03 - Windows

  1. namedWindow提供比imshow更爲精確的控制。
  2. namedWindow的第一個參數是一個string的handle,若該string第一次出現,則它指向一個新建的window,否則指向前面創建過的window。
  3. namedWindow的第二個參數是一個flag,代表此window的呈現方式,以CV_WINDOW開頭,可按照字面意思理解功能。比如:
    • CV_WINDOW_AUTOSIZE自動設定呈現的固定的圖像大小,用戶不可改變。
    • CV_WINDOW_FREERATIOCV_WINDOW_KEEPRATIO設定是否保持長寬比。
  4. 創建完namedWindow之後它並沒有數據,只是空的window。
  5. 使用imshow在namedWindow中添加Matrix數據,具體見示例代碼。
#include "opencv2\opencv.hpp"

using namespace cv;

int main(int argc, char **argv)
{
    Mat file1 = imread("lena.tif", CV_LOAD_IMAGE_UNCHANGED);
    Mat file2 = imread("lena.tif", CV_LOAD_IMAGE_GRAYSCALE);

    namedWindow("Color", CV_WINDOW_FREERATIO);
    namedWindow("Fixed", CV_WINDOW_AUTOSIZE);

    imshow("Color", file1);
    imshow("Fixed", file2);

    waitKey();
    return 0;
}

Alt text

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章