VisualStudio2022 cmake配置opencv開發(fā)環(huán)境
1. 環(huán)境與說(shuō)明
這里我用的是 widnows 10 64位,Visual Studio 用的 Visual Studio Community 2022 (社區(qū)版)
對(duì)于Android開發(fā)工程師來(lái)說(shuō),為什么要使用Visual Studio 呢 ? 因?yàn)樵?code>Visual Studio中開發(fā)調(diào)試OpenCV方便,可以開發(fā)調(diào)試好后,再移植到Android中。
2. 下載OpenCV版本
官方地址在這里 : 官方下載地址

這里我們下載widnows版本,對(duì)應(yīng)著就是opencv-4.8.0-windows.exe
2.1 安裝OpenCV
雙擊opencv-4.8.0-windows.exe ,將其安裝到指定目錄下,比如D:\Developer\opencv4.8.0
安裝 opencv-4.8.0-windows.exe 其實(shí)本質(zhì)上就是將其解壓到一個(gè)目錄下
3. 下載Visual Studio
這里下載 Visual Studio Community 2022 社區(qū)版就好了,免費(fèi)的,下載地址 : Visual Studio下載

3.1 配置所需的環(huán)境
Visual Studio 需要安裝配置所需的環(huán)境 ,具體在 工具 > 獲取工具和功能 中可以看到

我們需要勾選使用 C++的桌面開發(fā) 和 使用C++的Linux開發(fā)


在 單個(gè)組件中 SDK 、庫(kù)和框架 下勾選 Windows 10 SDK 和 Windows 通用 C 運(yùn)行時(shí)

在 編譯器、生成工具和運(yùn)行時(shí) 下勾選 用于 Windows 的 C++ CMake 工具

4 新建CMake項(xiàng)目
配置好環(huán)境后,我們打開Visual Studio,新建CMake項(xiàng)目

這里我們把項(xiàng)目名命名為OpenCVTest

點(diǎn)擊創(chuàng)建,在選擇啟動(dòng)項(xiàng)這里,選擇OpenCVTest.exe,然后點(diǎn)擊運(yùn)行

可以看到這樣一個(gè)命令行窗口,就表示運(yùn)行成功了

5. 驗(yàn)證OpenCV配置
5.1 復(fù)制 opencv_world480d.dll
將D:\Developer\opencv4.8.0\opencv\build\x64\vc16\bin\opencv_world480d.dll復(fù)制到E:\WorkSpace\Demo\OpenCV\OpenCVTest\out\build\x64-debug\OpenCVTest目錄下,即和OpenCVTest.exe同一目錄下
oopencv_world480d.dll : Debug版本
opencv_world480.dll : Release版本

5.2 配置CMakeList.txt
在項(xiàng)目?jī)?nèi)(和cpp同級(jí))的CMakeLists.txt中,添加OpenCV頭文件的目錄,替換\為/,具體代碼如下
# CMakeList.txt: OpenCVTest 的 CMake 項(xiàng)目,在此處包括源代碼并定義項(xiàng)目特定的邏輯。
# 指定要引用的dll的頭文件所在路徑
include_directories("D:/Developer/opencv4.8.0/opencv/build/include")
# 指定該dll的lib所在路徑
link_directories("D:/Developer/opencv4.8.0/opencv/build/x64/vc16/lib")
# 將源代碼添加到此項(xiàng)目的可執(zhí)行文件。
add_executable (OpenCVTest "OpenCVTest.cpp" "OpenCVTest.h")
# 指定鏈接庫(kù)的名字,即dll
# 需要將opencv_world480d.dll復(fù)制到out\build\x64-Debug\OpenCVTest目錄下,即和OpenCVTest.exe同一目錄下
target_link_libraries(OpenCVTest opencv_world480d.lib)
if (CMAKE_VERSION VERSION_GREATER 3.12)
set_property(TARGET OpenCVTest PROPERTY CXX_STANDARD 20)
endif()5.3 編寫cpp代碼
將一張圖片復(fù)制到D盤根目錄,命名為ImageTest.jpg 然后在OpenCVTest.cpp中編寫如下代碼,將這張圖片分別以原圖和灰白圖片的形式展示出來(lái)。
#include "OpenCVTest.h"
#include "opencv2/opencv.hpp"
using namespace std;
using namespace cv;
int main()
{
cout << "Hello CMake." << endl;
Mat img = imread("D:/ImageTest.jpg");
imshow("img", img); //顯示原圖
cvtColor(img, img, COLOR_BGR2GRAY);
imshow("img2", img); //顯示灰色圖片
waitKey();
return 0;
}5.4 運(yùn)行效果
點(diǎn)擊運(yùn)行,顯示效果如下,兩個(gè)彈框分別顯示出了原圖和灰白圖片。

到此, Visual Studio 的項(xiàng)目中的 OpenCV 就配置成功了。
到此這篇關(guān)于VisualStudio2022 cmake配置opencv開發(fā)環(huán)境的文章就介紹到這了,更多相關(guān)cmake配置opencv開發(fā)環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- OpenCV c++滑動(dòng)條的創(chuàng)建和使用代碼
- 聊聊Qt+OpenCV聯(lián)合開發(fā)之圖像的創(chuàng)建與賦值問題
- Opencv創(chuàng)建車牌圖片識(shí)別系統(tǒng)方法詳解
- 使用Android Studio創(chuàng)建OpenCV4.1.0 項(xiàng)目的步驟
- VS2019/2022配置C++ OpenCV4.10.0環(huán)境的圖文步驟
- VisualStudio2022配置opencv的實(shí)現(xiàn)
- Java調(diào)用opencv IDEA環(huán)境配置的教程詳解
- Visual?Studio2022下Opencv的配置圖文教程
- Visual?Studio?2022下載及配置OpenCV4.5.5的詳細(xì)過程
- vs2019配置C++版OpenCV的方法步驟
- VisualStudio中OpenCV的創(chuàng)建與配置使用小結(jié)
相關(guān)文章
C++指針運(yùn)算符(&和*)的實(shí)現(xiàn)
C++ 提供了兩種指針運(yùn)算符,一種是取地址運(yùn)算符 &,一種是間接尋址運(yùn)算符 *,本文就詳細(xì)的介紹一下這兩種運(yùn)算符的使用,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08
MoveWindow() SetWindowPos()的區(qū)別于聯(lián)系
這篇文章主要介紹了VC++中MoveWindow() SetWindowPos()的區(qū)別于聯(lián)系,需要的朋友可以參考下2015-01-01
C++ 繼承,虛繼承(內(nèi)存結(jié)構(gòu))詳解
C++繼承和虛繼承的內(nèi)存模型是一個(gè)老生常談的話題,實(shí)現(xiàn)方法主要依賴于編譯器,本文從多個(gè)角度通過代碼詳解C++中虛繼承的內(nèi)存模型知識(shí),感興趣的朋友跟隨小編一起看看吧2021-09-09
C語(yǔ)言植物大戰(zhàn)數(shù)據(jù)結(jié)構(gòu)堆排序圖文示例
這篇文章主要為大家介紹了C語(yǔ)言植物大戰(zhàn)數(shù)據(jù)結(jié)構(gòu)堆排序的圖文示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
C++多態(tài)定義及實(shí)現(xiàn)深度剖析
多態(tài)也是面向?qū)ο蟪绦蛟O(shè)計(jì)的重要特性,它都是配合繼承來(lái)使用,多態(tài)可以增加程序設(shè)計(jì)的靈活性,這篇文章主要介紹了C++多態(tài)定義及實(shí)現(xiàn)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-09-09
VC使用TerminateProcess結(jié)束進(jìn)程實(shí)例
這篇文章主要介紹了VC使用TerminateProcess結(jié)束進(jìn)程的方法,實(shí)例演示了TerminateProcess結(jié)束進(jìn)程的具體實(shí)現(xiàn)過程,在進(jìn)行VC應(yīng)用程序開發(fā)時(shí)非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10

