opencv安裝教程


下載opencv

下載鏈接:
https://opencv.org/releases/
如: opencv-4.3.0-vc14_vc15.exe

運行exe

運行exe(其實是解壓),將壓縮包解壓到相應目錄,如:
D:\
解壓后會生成opencv文件夾。
其中build是OpenCV使用時要用到的一些庫文件,而sources中則是OpenCV官方為我們提供的一些demo示例源碼

Win+VS

添加環境變量

根據安裝目錄新建環境變量:

此電腦 - 屬性 - 高級系統設置 - 高級 - 環境變量 - 系統變量(s) - path - 雙擊 - 新建 - D:\opencv\build\x64\vc15\bin

測試opencv

新建vs2019工程

如 :Test。

添加靜態庫和動態庫

解決方案管理器 - Test - 右鍵 - 屬性 - 配置屬性 - VC++目錄 - 平台(x64)

  • 包含目錄(Include Directories) - D:\opencv\build\includeD:\opencv\build\include\opencv2
  • 庫目錄(Library Directories) - D:\opencv\build\x64\vc15\lib

添加動態連接器

打開D:\opencv\build\x64\vc15\lib,會看到里邊有連接器opencv_world430d.lib,然后,

解決方案管理器 - Test - 右鍵 - 屬性 - 配置屬性 - 鏈接器 - 輸入 - 平台(x64) - 附加依賴項 - opencv_world430d.lib
這一步和include是等價的。

確定。

樣例

vs2019 Debug x64 環境

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

using namespace cv;

int main()
{
  // 讀入一張圖片(游戲原畫)
  Mat img = imread("C://Users//Administrator//Desktop//test.jpg");
  if (img.empty())
  {
    std::cout << "No image! Maybe the image path is wrong!" << std::endl;
    int i;
    std::cin >> i;
    return 0;
  }
  // 創建一個名為 "游戲原畫"窗口
  namedWindow("游戲原畫");
  // 在窗口中顯示游戲原畫
  imshow("游戲原畫", img);
  // 等待6000 ms后窗口自動關閉
  waitKey(0);
}

彈出圖片就對了!

Win+MinGW

如果QT用的編譯器是MinGW,那么則無法編譯.lib后綴的庫文件,所以需要准備.a后綴的opencv庫文件。opencv244版本帶有mingw的庫文件,但opencv2410以后則沒有了。

安裝QT

QT需要的兩個模塊:
Qt-Qt5.9-MingGW 5.3.0 32 bit
Qt-Tools-MinGW 5.3.0

安裝cmkake

安裝opencv

步驟如開始部分。

添加環境變量

D:\Qt\Qt5.14.2\Tools\mingw730_64\bin
D:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin

編譯opencv

打開cmake

Where is the source code: D:\opencv\sources
where to build the binaries: D:\opencv-build

點擊 Configure,Yes,選擇下列設定:

Specify the generator for this project: MinGW Makefiles
Specify native compilers, next
Compilers C: D:/Qt/Qt5.14.2/Tools/mingw730_64/bin/gcc.exe
Compilers C++: D:/Qt/Qt5.14.2/Tools/mingw730_64/bin/g++.exe
Finish
set Qt5_DIR to D:\Qt\5.9\mingw53_32\lib\cmake\Qt5
Check the box [X]WITH_QT
Check the box [X]WITH_OPENGL

點config

Set QT_MAKE_EXECUTABLE to D:\Qt\5.9\mingw53_32\bin\qmake.exe
Set Qt5Concurrent_DIR to D:\Qt\5.9\mingw53_32\lib\cmake\Qt5Concurrent
Set Qt5Core_DIR to D:\Qt\5.9\mingw53_32\lib\cmake\Qt5Core
Set Qt5Gui_DIR to D:\Qt\5.9\mingw53_32\lib\cmake\Qt5Gui
Set Qt5Test_DIR to D:\Qt\5.9\mingw53_32\lib\cmake\Qt5Test
Set Qt5Widgets_DIR to D:\Qt\5.9\mingw53_32\lib\cmake\Qt5Widgets
Set Qt5OpenGL_DIR to D:\Qt\5.9\mingw53_32\lib\cmake\Qt5OpenGL
Set CMAKE_BUILD_TYPE to Release or RelWithDebInfo
Set OPENCV_VS_VERSIONINFO_SKIP=1
Uncheck the box []ENABLE_PRECOMPILED_HEADERS

點config

點generate

然后編譯:

d:
cd d:\
cd opencv-build  
mingw32-make -j 8
mingw32-make install

mingw32-make -j 8時如果編譯出錯:

gcc: error: long: No such file or directory
C:\mingw64\bin\windres.exe: preprocessing failed.
mingw32-make[2]: *** [modules\core\CMakeFiles\opencv_core.dir\build.make:1506: modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj] Error 1
mingw32-make[2]: *** Waiting for unfinished jobs....
mingw32-make[1]: *** [CMakeFiles\Makefile2:2237: modules/core/CMakeFiles/opencv_core.dir/all] Error 2
mingw32-make: *** [Makefile:179: all] Error 2

解決方法,在cmake選項中取消該選項:

Uncheck the box []OPENCV_ENABLE_ALLOCATOR_STATS

添加Opencv編譯庫到環境變量

D:\opencv-build\install\x86\mingw\bin

測試

.pro文件中添加,注意修改文件路徑和庫名:

INCLUDEPATH += D:\opencv\build\include
LIBS += D:\opencv-build\bin\libopencv_*.dll



#LIBS += D:\opencv-build\bin\libopencv_core320.dll
#LIBS += D:\opencv-build\bin\libopencv_highgui320.dll
#LIBS += D:\opencv-build\bin\libopencv_imgcodecs320.dll
#LIBS += D:\opencv-build\bin\libopencv_imgproc320.dll
#LIBS += D:\opencv-build\bin\libopencv_features2d320.dll
#LIBS += D:\opencv-build\bin\libopencv_calib3d320.dll

# more correct variant, how set includepath and libs for mingw
# add system variable: OPENCV_SDK_DIR=D:/opencv/opencv-build/install
# read http://doc.qt.io/qt-5/qmake-variable-reference.html#libs

#INCLUDEPATH += $$(OPENCV_SDK_DIR)/include

#LIBS += -L$$(OPENCV_SDK_DIR)/x86/mingw/lib \
#        -lopencv_core320        \
#        -lopencv_highgui320     \
#        -lopencv_imgcodecs320   \
#        -lopencv_imgproc320     \
#        -lopencv_features2d320  \
#        -lopencv_calib3d320

main.cpp

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

int main()
{
    // read an image
    cv::Mat image = cv::imread("C://Users//Administrator//Desktop//timg.jpg", 1);
    // create image window named "My Image"
    cv::namedWindow("My Image");
    // show the image on window
    cv::imshow("My Image", image);
    cv::waitKey(0);
    return 0;
}

MAC+Qt

Mac下只能使用Xcode進行構建。

可以使用brew install opencv進行安裝opencv,但是github總是被牆,因此使用碼雲上的opencv源碼來構建opencv。

下載opencv源碼,打開cmake:

Where is the source code: /Users/cdq/thirdLibrary/opencv
where to build the binaries: /Users/cdq/thirdLibrary/opencv-build

點擊config

再點擊config

點generate

cd /Users/cdq/thirdLibrary/opencv
make -j 8
sudo make install

安裝后的位置是: /usr/local/include,/usr/local/lib,/usr/local/share和/usr/local/bin

.pro文件

INCLUDEPATH +=/usr/local/include/opencv4/
LIBS += /usr/local/lib/libopencv_*.dylib

#LIBS += /usr/local/lib/libopencv_core.dylib
#LIBS += /usr/local/lib/libopencv_highgui.dylib
#LIBS += /usr/local/lib/libopencv_imgcodecs.dylib
#LIBS += /usr/local/lib/libopencv_imgproc.dylib

main.cpp文件

#include <QApplication>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace cv;  //包含cv命名空間

int main( )
{
 Mat srcImage = imread("/Users/cdq/Desktop/124.jpg"); //載入圖像
 imshow("【原始圖】",srcImage);//顯示圖像
 waitKey(0);//按任意鍵退出
 return 0;
}

需要注意的是:運行成功后,圖片總是以最小化顯示,而不是直接彈出,導致我一度以為沒有正常運行!

參考鏈接:
https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows
https://blog.csdn.net/duwangthefirst/article/details/79452314
https://blog.csdn.net/maizousidemao/article/details/81474834
https://blog.csdn.net/u012435142/article/details/82952302


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM