Cmake工程-配置opencv读取图像(win)

前言:跨平台开发的初衷便是一处开发,到处运行。昨天折腾了一天,简单配置opencv来读取一张我的帅照。本篇在windows下测试,但既然为跨平台,那么在unix下也是可以的,条件调用即可。

一、vs创建cmake工程

文件目录如下:

源文件:

#include "cmake_opencv.h"
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;

int main()
{
    Mat img = imread("D://test.jpg");
    imshow("test", img);
    waitKey(0);
    return 0;
}

二、CMakeLists.txt

# TODO: 如有需要,请添加测试并安装目标。
# CMakeList.txt: opencvTest 的 CMake 项目,在此处包括源代码并定义
# 项目特定的逻辑。
#
cmake_minimum_required (VERSION 3.8)
project(cmake_opencv)

# 设置opencv目录,其实是OpenCVConfig.cmake目录,它在/x64/vc14/lib下
# set(OpenCV_DIR "D:/masterstu/C++/opencv342/opencv/build/x64/vc14/lib")

# 其实去看文档会发现OpenCVConfig.cmake文档里就要求我们这样写就行
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS}) # Not needed for CMake >= 2.8.11

# 将源代码添加到此项目的可执行文件。
add_executable (cmake_opencv "cmake_opencv.cpp" "cmake_opencv.h")
target_link_libraries(cmake_opencv ${OpenCV_LIBS})

没事多看看源码中的东西还是有帮助的。

然后这样写了你会发现报了这么个错:

是什么意思呢?大致就是说没有找到那个配置文件,你需要设置一个OPENCV_DIR来设置它

然后就加上这句

set(OpenCV_DIR "D:/masterstu/C++/opencv342/opencv/build/x64/vc14/lib")

 这下该没错了吧,点击保存,成功。其实之前到这一步还有个错误,然后修改

得把这个修改未true,否则还会报错,我秀改了之后就好了, 但是在记录此博客时发现,我改回false竟然也没报错,这一点有些奇怪。不过遇见时对应修改就可以,这里提个醒。在此更新下,这个错误我浮现了,是在生成vs工程时会出现:(更正,opencv自带的cmake配置文件需要到x64/vcx/lib下,并非build下)

所以,将set(OPENCV_FOUND TRUE)即可。重新cmake,成功。 

生成vs工程:cmake -G"Visual Studio 15 2017 Win64" ..

解释:我的opencv是opencv342 64位,默认生成32位的工程,否则会爆模块计算机类型与目标计算机类型不匹配,我的vs是2017.以下是生成的vs工程,点击可以直接运行。  

三、结果

帅就是这么自信!

四、总结

本篇简单记录了下图像处理时cmake工程结合opencv配置开发的一些问题,方便后续回顾。 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我啥都会

如果觉得对您有帮助,打赏一下吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值