zoukankan      html  css  js  c++  java
  • paper 58 :机器视觉学习笔记(1)——OpenCV配置

    开始学习opencv!

    1.什么是OpenCV

    OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。

    简单地说,OpenCV就是一个第三方关于视觉处理的开源库,使用该库可以采集摄像头拍摄的视频,可以处理图像,可以进行诸多关于视觉方面的操作。

    本篇将讲述win7操作系统中Visual Studio 2010中OpenCV2.4.10的配置,主要分为4个部分:

    • Path设置
    • 头文件配置
    • 库文件配置
    • 链接库配置

    2.具体操作

    下载OpenCV2.4.10并安装到D盘的根目录。

    点击下载,说是“安装”,其实就是解压
    之所以选择D盘根目录,是为了不同电脑之间交流的方便,比如有若干台电脑的OpenCV都在D盘根目录的话,工程copy过去可以直接打开
    之所以选择Version2.4.10是因为该版本较为稳定,没有太多bug

    Path设置
    计算机右键属性高级系统设置环境变量
    在环境变量对话框中的系统变量中选中Path变量,点击编辑按钮
    对于32位编译环境,添加:;D:opencvuildx86vc10in
    对于64位编译环境,添加:;D:opencvuildx86vc10in;D:opencvuildx64vc10in
    多少位编译环境取决于VS,具体在VS的Debug按钮后面的组合框中能看到,如果实在不清楚,按照64位编译环境的添加即可

    头文件配置

    新建一个控制台项目
    视图属性管理器,在新出现的“属性管理器”工作区中,点击Debug|Win32->Microsoft.Cpp.Win32.userDirectories,右键属性,打开属性页面
    通用属性VC++目录包含目录,添加

    D:opencvopencvopencvuildinclude
    D:opencvopencvopencvuildincludeopencv
    D:opencvopencvopencvuildincludeopencv2
    为什么要添加其子文件夹笔者目前还不太清楚,只是测试了不添加后两个文件夹测试程序照样能运行,不过为了保险起见还是加上吧

    库文件配置
    属性页面中,通用属性VC++目录库目录,添加

    链接库配置
    属性页面中,通用属性链接器输入附加的依赖项,添加
    opencv_ml2410d.lib
    opencv_calib3d2410d.lib
    opencv_contrib2410d.lib
    opencv_core2410d.lib
    opencv_features2d2410d.lib
    opencv_flann2410d.lib
    opencv_gpu2410d.lib
    opencv_highgui2410d.lib
    opencv_imgproc2410d.lib
    opencv_legacy2410d.lib
    opencv_objdetect2410d.lib
    opencv_ts2410d.lib
    opencv_video2410d.lib
    opencv_nonfree2410d.lib
    opencv_ocl2410d.lib
    opencv_photo2410d.lib
    opencv_stitching2410d.lib
    opencv_superres2410d.lib
    opencv_videostab2410d.lib

    opencv_objdetect2410.lib
    opencv_ts2410.lib
    opencv_video2410.lib
    opencv_nonfree2410.lib
    opencv_ocl2410.lib
    opencv_photo2410.lib
    opencv_stitching2410.lib
    opencv_superres2410.lib
    opencv_videostab2410.lib
    opencv_calib3d2410.lib
    opencv_contrib2410.lib
    opencv_core2410.lib
    opencv_features2d2410.lib
    opencv_flann2410.lib
    opencv_gpu2410.lib
    opencv_highgui2410.lib
    opencv_imgproc2410.lib
    opencv_legacy2410.lib
    opencv_ml2410.lib

    中间的2410表明配置的是OpenCV2.4.10版,如果配置的是其他的版本修改数字即可

    上面19个有后缀字母d的表示debug版本链接库,下面19个表示release版本链接库

    由于OpenCV的bug,经过以上的配置Debug运行ok,但是release不行,解决方法如下:
    想在release模式下运行出程序结果,在工程的release模式下,将不带d的lib(全部是19个)添加到【项目】->【属性】(注意这样打开的是当前工程的属性页,我们只需在这里将release版(即不带d)的相关lib添加进去)->【配置属性】->【链接器】->【输入】->【附加的依赖项】下即可

    测试
    #include 
    #include 
    #include 
    using namespace cv;
    int main()
    {
    Mat img=imread("pic.jpg");//读入一张图片
    namedWindow("moverzp");//创建一个名为Test窗口
    imshow("moverzp",img);//窗口中显示图像
    waitKey(5000);//等待5000ms后窗口自动关闭
    }

    注:需要在该项目的根目录下添加一张名为pic.jpg的图片,否则程序会出错

    3.总结

    我们配置的只是一个工程,而不是VS2010,所以如果重建工程的话还是需要再重新配置一次,那岂不是很麻烦?不用那么麻烦,把本文配置的项目做一个备份,需要新建项目的时候copy一份备份修改即可
    内存位置异常往往是没有载入相应的图片导致的(名称或者路径不对),所以实际项目中最好加上图片载入是否成功的判断

    文章来源:moverzp的博客

  • 相关阅读:
    利用Libra进行机器学习和深度学习
    生产中的ML-1:Amazon Sagemaker-AWS,设置,训练和部署
    PANDAS: 新手教程 一
    dblink连接操作远程数据库
    Tomcat设置开机自动启动
    DataRow[] 转为数组
    C#子线程刷新界面并关闭窗体
    SQL SERVER 生成建表脚本
    SQL SERVER 生成MYSQL建表脚本
    SQL SERVER 生成ORACLE建表脚本
  • 原文地址:https://www.cnblogs.com/molakejin/p/5403314.html
Copyright © 2011-2022 走看看