首页 > 其他分享 >【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ③ ( CMake 工程中配置 OpenCV 库文件 | 拷贝 OpenCV 函数库文件 )

【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ③ ( CMake 工程中配置 OpenCV 库文件 | 拷贝 OpenCV 函数库文件 )

时间:2023-01-07 17:05:50浏览次数:41  
标签:CMake 函数库 opencv Demo OpenCV build


文章目录

  • ​​一、CMake 工程中配置 OpenCV 库文件​​
  • ​​二、拷贝 OpenCV 库文件​​
  • ​​三、测试 OpenCV​​







一、CMake 工程中配置 OpenCV 库文件



在上一篇博客 ​​【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ② ( VS 中创建 CMake 工程 | CMake 工程中配置 OpenCV 头文件 )​​ 中 在 Visual Studio 2019 环境下的 CMake 工程中配置了 OpenCV 头文件的搜索路径 ;

# CMakeList.txt: OpenCV_Demo 的 CMake 项目,在此处包括源代码并定义
# 项目特定的逻辑。
#
cmake_minimum_required (VERSION 3.8)

# 设置 OpenCV 头文件
include_directories("Y:/001_DevelopTools/032_OpenCV/opencv/build/include/")

# 将源代码添加到此项目的可执行文件。
add_executable (OpenCV_Demo "OpenCV_Demo.cpp" "OpenCV_Demo.h")

# TODO: 如有需要,请添加测试并安装目标。

下面开始配置 OpenCV 函数库库 ;



首先 , 要配置 OpenCV 的函数库搜索路径 ;

OpenCV 在 Windows 中的安装路径为 ​​Y:\001_DevelopTools\032_OpenCV\opencv​​ ;

【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ③ ( CMake 工程中配置 OpenCV 库文件 | 拷贝 OpenCV 函数库文件 )_visual studio

其函数库的搜索路径为 ​​Y:\001_DevelopTools\032_OpenCV\opencv\build\x64\vc15\lib​​ ;

【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ③ ( CMake 工程中配置 OpenCV 库文件 | 拷贝 OpenCV 函数库文件 )_原力计划_02

在 CMakeLists.txt 中设置 OpenCV 函数库搜索路径 , 代码如下 :

# 设置 OpenCV 函数库搜索路径
link_directories("Y:/001_DevelopTools/032_OpenCV/opencv/build/x64/vc15/lib")

注意 , CMakeLists.txt 构建脚本中的目录都要使用 ​​/​​ 进行分割 ;



然后 , 链接 OpenCV 的具体的函数库 ;

设置完 函数库 搜索路径后 , 还需要链接 函数库 , 要链接的函数库是 ​​Y:\001_DevelopTools\032_OpenCV\opencv\build\x64\vc15\lib\opencv_world343d.lib​​ ;

【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ③ ( CMake 工程中配置 OpenCV 库文件 | 拷贝 OpenCV 函数库文件 )_visual studio_03

使用如下代码 , 链接 OpenCV 函数库 ;

# 链接 OpenCV 函数库
target_link_libraries(OpenCV_Demo opencv_world343d)



完整的 CMakeLists.txt 构建脚本如下 :

# CMakeList.txt: OpenCV_Demo 的 CMake 项目,在此处包括源代码并定义
# 项目特定的逻辑。
#
cmake_minimum_required (VERSION 3.8)

# 设置 OpenCV 头文件
include_directories("Y:/001_DevelopTools/032_OpenCV/opencv/build/include/")

# 设置 OpenCV 函数库搜索路径
link_directories("Y:/001_DevelopTools/032_OpenCV/opencv/build/x64/vc15/lib")

# 将源代码添加到此项目的可执行文件。
add_executable (OpenCV_Demo "OpenCV_Demo.cpp" "OpenCV_Demo.h")

# 链接 OpenCV 函数库
target_link_libraries(OpenCV_Demo opencv_world343d)

# TODO: 如有需要,请添加测试并安装目标。






二、拷贝 OpenCV 库文件



将 ​​Y:\001_DevelopTools\032_OpenCV\opencv\build\x64\vc15\bin​​​ 目录下的 ​​opencv_world343d.dll​​ 动态库文件拷贝到 系统中 , 下图中矩形框内的就是要拷贝的库文件 ;

【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ③ ( CMake 工程中配置 OpenCV 库文件 | 拷贝 OpenCV 函数库文件 )_OpenCV_04

编译项目 , 发现编译文件被拷贝到了 ​​Y:/002_WorkSpace/002_VS/OpenCV_Demo/OpenCV_Demo/out/build/x64-Debug​​​ 目录中 , 解决方案名称是 ​​OpenCV_Demo​​​ , 这里将 ​​Y:\001_DevelopTools\032_OpenCV\opencv\build\x64\vc15\bin\opencv_world343d.dll​​​ 文件拷贝到 ​​Y:\002_WorkSpace\002_VS\OpenCV_Demo\OpenCV_Demo\out\build\x64-Debug\OpenCV_Demo​​ 目录中 , 这样就可以在 CMake 项目中调用动态库了 ;

【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ③ ( CMake 工程中配置 OpenCV 库文件 | 拷贝 OpenCV 函数库文件 )_visual studio_05






三、测试 OpenCV



引入 cv 命名空间 ;

using namespace cv;

如果不引入该命名空间 , 则使用 ​​cv​​​ 中的函数或变量时 , 如 : ​​Mat​​​ 矩阵 , 需要使用 ​​cv::Mat​​ 进行访问 ;



代码示例 : 先使用 ​​imread​​​ 读取文件系统中的图片 , 然后使用 ​​imshow​​ 在新窗口中展示图片 ;

// OpenCV_Demo.cpp: 定义应用程序的入口点。
//

#include "OpenCV_Demo.h"
#include <opencv2/opencv.hpp>

using namespace cv;
using namespace std;


int main()
{
// 从文件系统中加载图片到 Mat 矩阵中
Mat image = imread("Y:/002_WorkSpace/002_VS/OpenCV_Demo/OpenCV_Demo/OpenCV_Demo/image.jpg");

// 在新窗口中显示图片
imshow("展示图片", image);

// 阻塞等待, 直到用户输入 esc 或 空格
waitKey();

cout << "Hello CMake." << endl;
return 0;
}

执行结果 :

【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ③ ( CMake 工程中配置 OpenCV 库文件 | 拷贝 OpenCV 函数库文件 )_opencv_06

在 Windows 系统中的 Visual Studio 中 开发 OpenCV 程序 , 可以使用 imshow 函数快速看到效果 , 开发好之后再将代码移植到 Android 中 , 这样比较方便 ;


标签:CMake,函数库,opencv,Demo,OpenCV,build
From: https://blog.51cto.com/u_14202100/5995617

相关文章

  • cmake多层级目录调用
    通过多个cmake层级编译目录树➜test_pro6tree-h.├──[351]CMakeLists.txt├──[4.0K]app_hello│├──[97]CMakeLists.txt│├──[28......
  • cmake常用函数
    cmake的常用函数cmake_minimum_required(VERSION3.0)#指定cmake的最小版本project(demo)#设置项目名称add_executable(demodemo.cpp)#生成可执行文件demo.cpp......
  • opencv卡尺测量原理
    遍历每个矩形区域,分别找到一个灰度突变的峰值,然后把这N个点剔除问题点拟合直线或圆。可以通过卡尺检测边缘,再用投影法,再求灰度平均值沿着边缘检测方向,垂直扫描图像如图......
  • opencv修改帧数
    #opencv读取视频文件importcv2importmatplotlib.pyplotaspltvc=cv2.VideoCapture('test.mp4')#检测视频打开是否正确ifvc.isOpened():oepn,frame=vc.read()......
  • ros2的cv_bridge库opencv版本不匹配问题
    ros2的cv_bridge库opencv版本不匹配问题问题:libopencv_imgcodecs.so.4.2:cannotopensharedobjectfile:nosuchfileordirectory原因ros安装的时候默认的......
  • 基于OpenCV DNN模块给黑白老照片上色(附Python/C++源码)
    导读本文给大家分享一个用OpenCVDNN模块给黑白老照片上色的实例,并给出Python和C++版本源码。 背景介绍    这个项目是基于在加利福尼亚大学,伯克利,RichardZhang,Phil......
  • Qt QRect 和 OpenCV cv::Rect 的区别
    1//构建一个QT的QRect对象2QRectqrect(0,0,100,100);3qDebug()<<"qrect.bottomRight:"<<qrect.bottomRight();45//构建一个opencv的cv::Rect对象6cv::Rect......
  • Android CMake/JNI
    ​​AndroidJNI开发-简书​​​​​jni之jni与jna的比较-cbing​​​​AndroidJNI开发-简书​​​​JNA实战笔记汇总(一)——JNA简介及demo环境创建_水逆呱的博客a......
  • pyautogui + opencv 笔记
    安装pipinstallpyautoguipipinstallopencv-python==3.4.8.291,控制鼠标的移动获取屏幕分辨率>>>importpyautogui>>>宽,高=pyautogui.size()>>>宽,高......
  • cmake关于相对路径的一些参数
    项目文件结构  cmake_minimum_required(VERSION3.15)project(AddTest)message("CMAKE_CURRENT_BINARY_DIR:"${CMAKE_CURRENT_BINARY_DIR})message("CMAKE_CU......