前言
这几天想学一下C++下的opencv,毕竟opencv是用C++开发的,而且我们实验室的视觉用的也是C++的,但是真的没想到,装个环境这么困难,主要是可能网上的教程不太适配吧,找了好几个都不行,最后还是在油管里面找到的一个国外视频才配置成功的。想想python的环境,一个命令就搞定了,这C++的是真的抽象。
开始配置
安装
这个步骤我就不多说了吧,直接去官网上下载一下,然后安装就好了,或者git一下也是可以的,记得要记住他的安装位置以后要用
下面我记录一下那个视频里面的安装方法(算是用一种用命令行安装的):
用管理员模式打开powershell,输入命令
choco install opencv
没安装choco的话先执行下面的代码
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
这个choco其实就是一个安装软件的东西,可以在其官网上查询到你想安装的东西
环境变量配置
用户变量配置
点开菜单,搜索变量就可以打开了
找到环境变量-用户变量-Path-编辑
在这里新建一个,命名为:你的opencv目录\build\x64\vc开头的一个文件(版本不同可能不一样)\bin
例如我这里的就是D:\Opencv\opencv\build\x64\vc16\bin
然后点确定就好了
系统变量配置
下面有一个系统变量,点击新建,把下面官方介绍中写的这几个需要添加的都加上,记得前面的目录改成自己的(里面的目录是使用choco直接安装的目录,还是老版的,所以肯定是不一样的,应该看的明白)
OPENCV_DIR | C:\tools\opencv\build\x64\vc14\lib
OPENCV_INCLUDE_PATHS | C:\tools\opencv\build\include
OPENCV_LINK_LIBS | opencv_world460
OPENCV_LINK_PATHS | C:\tools\opencv\build\x64\vc15\lib
OPENCV_PATH | C:\tools\opencv
Clion配置
正常在Clion里面新建一个项目,在Cmake文件里面添加以下代码并重新加载:
#寻找OpenCV库
FIND_PACKAGE(OpenCV REQUIRED)
MESSAGE(STATUS "OpenCV version: ${OpenCV_VERSION}")
MESSAGE(STATUS " libraries: ${OpenCV_LIBRARY_DIRS}")
MESSAGE(STATUS " include path: ${OpenCV_INCLUDE_DIRS}")
MESSAGE(STATUS " libs: ${OpenCV_LIBS}")
include_directories(${OpenCV_INCLUDE_DIRS})
link_directories(${OpenCV_LIBRARY_DIRS})
//整体
cmake_minimum_required(VERSION 3.23)
project(1)
set(CMAKE_CXX_STANDARD 14)
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
#寻找OpenCV库
FIND_PACKAGE(OpenCV REQUIRED)
MESSAGE(STATUS "OpenCV version: ${OpenCV_VERSION}")
MESSAGE(STATUS " libraries: ${OpenCV_LIBRARY_DIRS}")
MESSAGE(STATUS " include path: ${OpenCV_INCLUDE_DIRS}")
MESSAGE(STATUS " libs: ${OpenCV_LIBS}")
include_directories(${OpenCV_INCLUDE_DIRS})
link_directories(${OpenCV_LIBRARY_DIRS})
add_executable(1 main.cpp)
TARGET_LINK_LIBRARIES(1 ${OpenCV_LIBS})
设置配置
现在,在main.cpp里面就可以添加Opencv的头文件并使用了
#include "opencv2/opencv.hpp"
测试程序:
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
string path = R"(D:\code\clion_opencv\1\test.png)";
Mat img = cv::imread(path,IMREAD_GRAYSCALE);//展示灰度图
imshow("Image", img);
waitKey(2000); //显示图片2s
return 0;
}
博主您好,看了您的文章很不错,现邀请您加入腾讯云自媒体分享计划:https://cloud.tencent.com/developer/support-plan?invite_code=1fl7x472n9epy
欢迎申请加入哟~