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

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android OpenCVVisual Studio 创建支持 OpenCV 库的 CMake 工程 ③ ( CMake 工程中配置 OpenCV 库文件 | 拷贝 OpenCV 函数库文件 )相关的知识,希望对你有一定的参考价值。

文章目录


博客源码下载地址 : https://download.csdn.net/download/han1202012/87358942





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



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

# CMakeList.txt: OpenCV_DemoCMake 项目,在此处包括源代码并定义
# 项目特定的逻辑。
#
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 ;

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

在 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 ;

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

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

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

# CMakeList.txt: OpenCV_DemoCMake 项目,在此处包括源代码并定义
# 项目特定的逻辑。
#
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 动态库文件拷贝到 系统中 , 下图中矩形框内的就是要拷贝的库文件 ;

编译项目 , 发现编译文件被拷贝到了 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 项目中调用动态库了 ;





三、测试 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;


执行结果 :

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


博客源码下载地址 : https://download.csdn.net/download/han1202012/87358942

以上是关于Android OpenCVVisual Studio 创建支持 OpenCV 库的 CMake 工程 ③ ( CMake 工程中配置 OpenCV 库文件 | 拷贝 OpenCV 函数库文件 )的主要内容,如果未能解决你的问题,请参考以下文章

Android OpenCVVisual Studio 创建支持 OpenCV 库的 CMake 工程 ② ( VS 中创建 CMake 工程 | CMake 工程中配置 OpenCV 头文件 )

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

如何创建基于其他数据帧数据帧中的一个连接?

你能从 Stud > HAProxy > nginx 获得 X-forwarded-for 吗?

python基础dict,集合,文件

(fwrite(&stud[i],sizeof(struct student),1,fp)!=1在C语言中是啥意思