zoukankan      html  css  js  c++  java
  • opencv笔记1:opencv的基本模块,以及环境搭建

    opencv笔记1:opencv的基本模块,以及环境搭建

    安装系统

    使用fedora22-workstation-x86_64

    安装opencv

    sudo dnf install opencv-devel

    安装cmake

    sudo dnf install cmake

    查看opencv的基本模块

    cd /usr/include/opencv2/
    vim opencv_modules.hpp
    

    内容如下:

    #define HAVE_OPENCV_CALIB3D
    #define HAVE_OPENCV_CONTRIB
    #define HAVE_OPENCV_CORE
    #define HAVE_OPENCV_FEATURES2D
    #define HAVE_OPENCV_FLANN
    #define HAVE_OPENCV_GPU
    #define HAVE_OPENCV_HIGHGUI
    #define HAVE_OPENCV_IMGPROC
    #define HAVE_OPENCV_LEGACY
    #define HAVE_OPENCV_ML
    #define HAVE_OPENCV_OBJDETECT
    #define HAVE_OPENCV_OCL
    #define HAVE_OPENCV_PHOTO
    #define HAVE_OPENCV_STITCHING
    #define HAVE_OPENCV_SUPERRES
    #define HAVE_OPENCV_TS
    #define HAVE_OPENCV_VIDEO
    #define HAVE_OPENCV_VIDEOSTAB
    

    对应着opencv这个计算机视觉代码库中的所有模块:
    calib3d calibration(校准)+三维重建
    contrib contribution 最近新添加的特性 先不管它
    core 核心模块
    features2d 特征检测/描述子提取
    flann fast library for approximate nearest neighbors
    gpu GPU加速(nvidia卡)
    highgui 高层的GUI操作(跟算法没啥关系)
    improc image processing 图像处理模块
    legacy 废弃堆,用于向下兼容
    ml machine learning,包括统计模型和分类算法
    obj_detect 目标检测
    ocl opencl加速
    photo 图像修复、去噪
    stiching 图像拼接
    superres super resolution 超分辨率
    ts test 测试模块,不用管
    video 视频分析组件
    videostab video stabilization 视频稳定相关组件

    这些模块中,core、imgproc、features2d是最基本的,ml和flann是机器学习相关的。对我而言gpu和opencl的可以不看。

    配置clion

    使用JetBrain公司的CLion作为IDE,它使用cmake构建工程,使用细节上比QtCreator好用些。
    下载clion后解压,然后进行破解工作:下载crack文件,解压后进入目录执行:

    java -jar build/libs/JetbrainsPatchKeygen-1.0.jar
    

    输入你当前登录的系统中的用户名,以及clion安装绝对路径,生成的license复制好,打开clion目录中的bin/clion.sh,在GUI提示界面中贴上去。

    配置搜索项

    为了能在图形界面的搜索框中找到clion,就像找到gedit一样,找到结果后能用鼠标打开而不是每次都用命令行打开,配置.desktop文件.
    在fedora22下,创建/usr/share/applications/clion.desktop文件,内容如下:

    [Desktop Entry]
    Version=1.0
    Type=Application
    Name=CLion
    GenericName=IDE
    Exec=/opt/clion/bin/clion.sh
    Terminal=false
    MimeType=text/plain;
    Icon=clion
    Categories=IDE
    StartupNotify=true
    

    用clion+opencv写hello world

    新建工程,首先修改CMakeLists.txt,在最后一行add_executable一行前后,分别插入如下两行内容:

    find_package(OpenCV REQUIRED)
    target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS})
    

    比如我的工程叫opencv_test,我的完整的CMakeLists.txt内容为:

    cmake_minimum_required(VERSION 3.2)
    project(opencv_test)
    
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
    
    set(SOURCE_FILES main.cpp)
    find_package(OpenCV REQUIRED)
    add_executable(opencv_test ${SOURCE_FILES} source_file.h source_file.cpp)
    target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS})
    

    main.cpp中写一段读取图片并显示的代码:

    #include <iostream>
    #include <opencv2/opencv.hpp>
    
    using namespace std;
    using namespace cv;
    
    int main(){
    	Mat image = imread("/home/chris/workspace/clion/lena.jpg");
    	imshow("lena图像", image);
    	waitKey(0);
    	destroyAllWindows();
    	return 0;
    }
    

    注意到IDE右上方的Buid All字样,先点左边的向下箭头,这是执行cmake和make;然后会弹窗让你确认配置;最后点右边的小三角执行run。

  • 相关阅读:
    Linux对文件的权限管理
    在Eclipse中安装TestNG
    JUnit 4 与 TestNG 对比
    postman之HTTP请求
    Fiddler抓包后保存为JMX(jmeter脚本,不限jmeter使用版本)
    JMeter使用之BlazeMeter的安装及初步使用
    Postman的第一个案例演示
    Postman的安装及注意事项
    SVN学习记录
    TestNG中如何执行测试
  • 原文地址:https://www.cnblogs.com/zjutzz/p/4854168.html
Copyright © 2011-2022 走看看