opencv+vs+windows配置方式

最前提示:

contribute库。一开始上手学这个的你确定是学OpenCV呢?

OpenCV没有你们要的功能,比如人脸识别、分类识别、背景前景区分、拼接、3D。。。

提示:

1、请勿再使用opencv 1.x版本。

2、需要MFC显示图像的同学请自行问度娘。

3、opencv3.4(含)以后的版本支持直接读取TensorFlow模板,有兴趣同学自行测试。

4、请勿按照其它教程配置整体环境变量。请默认Cmake,否则出错了你怪谁?

5、新入坑同学请勿使用py等脚本语言入门opencv。

6、opencv如果读取视频时可能出现编码格式不支持的可能。虽然都是MP4,有可能是不能读取是因为编码格式不对。

      编码格式与封装格式想入门的同学有请:哔哩哔哩https://www.bilibili.com/video/av37424012

      也有可能是你没有添加videoxxxx.dll不添加不会报错,但就是读不了视频。

7、opencv不是简单的工具箱,如果需要快速开发的同志。请自行百度智能相机,嫌贵又不想开发,可以删库跑路的。

8、入门同学请购买正版书籍,建议书籍就一本。

不要纠结版本,这本书前十四章,直到轮廓之前除了边过一次API名称以外,已经很久没变了。你能把前十四章学完。基本上也算是明白了基本的图像处理知识了。

 


准备工具:

1、opencv下载:https://www.opencv.org/releases.html,选择对应OpenCV的版本Sources。下载并解压缩。

2、Cmake下载:https://cmake.org/download/,选择win平台对应msi安装程序,32位选X86,64位选X64。下载并安装。

3、没有VS的同学。。你们看到这步图什么?


编译过程:

1、打开cmake-gui。红框输入解压缩后的opencv位置,绿框输入编译后的位置。

点Configure,选取自己平台。。对应位数的选项。

你不知道你的STL版本,你总能知道你的vs版本吧?

下图中,想编译32位的请不要选Win64。。。

点击Finish等着。等不及的。。额。。我大清自有国情在。

你的网不好。。别老在宿舍窝着,请抱着电脑去实验室换个网试试。。

生成后如图:如果有标红的话,请再点一次Configure

需要开发部署,或者内存小的同学,请勿勾选BUILD_opencv_world。

然后点击Generate。

打开之前绿框中的目录,忘了什么是绿框的同学请去看看脑子或者自己往上转转滚轮。

剩下的同学跟我开始第二步。


2、打开OpenCV.sln。电脑上安装多个VS版本的同学,你们能按多个版本基本上也不看我的blog。如果有的话,请你们格式化C盘,重装Windows,只安装一个VS,然后从本Blog第一步从新做。谢谢。

防止新手问我在哪儿:

位置在,菜单栏->视图->解决方案管理器,英文:menu->view->solution explorer。看见有变化的地方了么?没有的去看眼睛。

选择CMakeTargets中的INSTALL右键,中文同学选择编译,英文选择Build。

等。。。。。

然后在工具栏中,将Debug改成Release再编译一次。

等。。。。。。。

编译完成的同学。打开之前绿框中的目录。然后开始下一步。


3、打开install文件夹。将其中的include和x64复制出来备用。

4、将include单独放置。

将install\x64\vc14\bin和install\x64\vc14\lib的两个文件夹中的文件分别按照d.***和*.***进行归类。找不到规律的请看下图:

至此所有准备工作做完了。现在我肯开始炸至OpenCV第一个小程序。


新建vs控制台项目。不会的同学。。。不管了。。。

属性界面请于实际使用环境对应,下图中两个红框的的内容请对应。

右键红框,选择属性,点击黄框,中文:C++->常规,点击蓝框,中文附加包含目录,点编辑。

点那个...添加你之前存好了的opencv文件夹

然后把这几个都填进来,点ok

点确定。

在主程序中。添加

#include "opencv.hpp"
#include "highgui.h"

点击F5,程序一闪而过。说明include配置正确

若出现提示:

则你之前保存的include文件夹位置不正确。想想刚才整理lib和dll文件的时候有没有看清楚让你整理include文件夹。。你扔哪儿去了?


我们继续,红色属性,黄色,中文:连接器->常规。蓝色,中文:附加库目录

选择你之前归纳的时候的相对应文件夹

在程序中添加,你们自行把2143改成自己的版本号吧。。

#pragma comment(lib,"opencv_highgui2413d.lib")
#pragma comment(lib,"opencv_core2413d.lib")
#pragma comment(lib,"opencv_imgproc2413d.lib")

F5运行。原理同上,一闪而过则说明正常。

以上配置都对了的同学。你们很聪明了。已经超过了90%的全国同学


 将程序复制修改为。

int main()
{
    cv::Mat img = cv::imread("D:\\1.jpg");
    cv::imshow("img", img);
    cv::waitKey(0);
    cv::destroyWindow("img");
    return 0;
}

求你们了。。D盘根目录下存一个名为1.jpg的图像。谢谢~

再讲你们之前引用的那三个lib相对应的dll,复制到运行目录下。不知道的同学。

项目属性,调试,命令。。看到了么?

.

想了解为什么不是Working Directory的同学。你们先入门。 

复制目录。打开。把你前边引用的lib文件放进去

重新进程序,F5。

奇迹出现了!


 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部