• c++学习从小白到高级工程师实战02:opencv的活学活用


    目录

            环境安装

            Chapter 1:摄像头视频流读图

    本章开始c++、opencv的入门学习,干活满满。

    环境安装

    首先在网上搜索c++官网安装社区版Visual Studio

     安装完成之后点击c++桌面开发进行下一步

     然后在opencv官网下载opencv

    传送门

     选择合适版本下载即可。

     然后在系统环境变量中加入opencv的路径,D:\opencv\build\x64\vc15\bin

     然后我们可以打开VS软件进行项目创建

     

     Debug x64

    然后在项目属性中配置opencv路径

    在其中找到VC++ 目录 点击包含目录 编辑添加路径 D:\opencv\build\include 

     然后在VC++ 目录 点击引用目录 编辑添加路径 D:\opencv\build\x64\vc15\lib

     然后在链接器中,附加依赖项中编辑加入名称,opencv_world455d.lib(根据自己下载的opencv版本调整)一般是vs15文件夹下的opencv_world455d.dll后缀名dll变为lib

     完成c++的opencv环境配置

    如果运行出现报错的话,比如提示以下错误

    严重性    代码    说明    项目    文件    行    禁止显示状态
    错误    LNK1104    无法打开文件“opencv_world455d.lib”    02opencv学习    D:\csdn\c++\02opencv学习\02opencv学习\LINK    1    

    我们可以在链接器,常规中添加附加库目录,路径D:\opencv\build\x64\vc15\lib

    然后用个测试代码进行测试看能否运行,在解决方案资源管理器中,点击源文件,添加新建项,

     

    输入以下demo进行测试:

    1. #include<opencv2/imgcodecs.hpp>
    2. #include<opencv2/highgui.hpp>
    3. #include<opencv2/imgproc.hpp>
    4. #include<iostream>
    5. using namespace cv;
    6. using namespace std;
    7. int main() {
    8. string path = "Resources/test.png";
    9. Mat img = imread(path);
    10. imshow("Image", img);
    11. waitKey(0);
    12. return 0;
    13. }

    然后图片文件夹让在代码同一目录下

    最后运行成功

      

    Chapter 1:摄像头视频流读图

    1. #include<opencv2/imgcodecs.hpp>
    2. #include<opencv2/highgui.hpp>
    3. #include<opencv2/imgproc.hpp>
    4. #include<iostream>
    5. using namespace std;
    6. using namespace cv;
    7. /// <summary>
    8. /// Images
    9. /// </summary>
    10. //void main() {
    11. // string path = "Resources/test.png";
    12. // Mat img=imread(path);//matrix data type 由opencv引入来处理图像
    13. // imshow("Image", img);
    14. // waitKey(0);//增加延时,0表示无穷
    15. //}
    16. /// <summary>
    17. /// Video
    18. /// //视频是一系列图像,需要遍历所有图像或帧 一一捕获并显示,因此将使用while循环
    19. /// </summary>
    20. //void main() {
    21. // string path = "Resources/test_video.mp4";
    22. // VideoCapture cap(path);
    23. // Mat img;
    24. //
    25. // while (true) {
    26. // cap.read(img);
    27. // imshow("Image", img);
    28. // waitKey(20);//增加延时 20ms
    29. // }
    30. //
    31. //}
    32. /// <summary>
    33. /// Webcam
    34. /// 与导入视频不同的是,不需要视频路径,只需要给相机ID,id=0表示默认的摄像头
    35. /// </summary>
    36. void main() {
    37. VideoCapture cap(0);//相机id=0
    38. Mat img;
    39. while (true) {
    40. cap.read(img);
    41. imshow("Image", img);
    42. waitKey(1);//增加延时 1ms,以免太慢
    43. }
    44. }

     

     

  • 相关阅读:
    爬取网站时返回的html是乱码问题解决
    基于ssm的校园二手物品交易平台(idea+spring+springmvc+mybatis+jsp)
    电脑怎么用U盘重装系统-电脑用U盘重装Win10系统的步骤
    速看,成都市关于促进低效工业用地企业提质增效的信息
    golang-bufio 缓冲扫描
    【MDPI出版社】物联网通信类SCI&EI,仅2-3个月左右录用
    【从零开始一步步学习VSOA开发】并行RPC服务端
    啃完这本阿里手册,应届七面进阿里
    Java多线程中——部分场景使用实现
    设计模式13、模版方法模式 Template Method
  • 原文地址:https://blog.csdn.net/qq_34904125/article/details/125493653