• opencv在Mac环境下的安装和配置


      今天尝试用Xcode集成opencv动态库来处理图片,将opencv的安装和在Xcode上的配置记录下来,以供参考。

    一、opencv的安装

      1.首先检查有没有安装cmake ,终端上cmake --version 检查版本情况确定。如果没有安装,先安装一下:

        brew install cmake

      2.安装opencv

       官方下载页: https://opencv.org/releases.html

       github下载:git clone https://github.com/opencv/opencv.git

       或者 brew install opencv

    二、构建opencv

      1. opencv文件夹下创建一个release子文件夹

        cd ~/opencv

        mkdir release

      2.配置环境

        cd release

        cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

      3.开始安装

        make -j6

        make

        sudo make install ,这一步编译opencv动态库和一些头文件,耗时较久,安装成功后,查找/usr/local/lib,会看到libopencv_core(版本号).dylib,表明安装成功。

    三.开始Xcode工程

      1.新建Xcode工程,选择mac下的命令行(Command line tool),语言选择C++

      2.配置Xcode,Target-->Build Setting -->搜索框里输入“search”,找到search path ,Header Search Path 添加 /usr/local/inculde ,头文件的链接。

      Library Search Path 添加/usr/local/lib,库文件的链接。

      

         3.添加需要用到的库。

          Target --> Build Phase --> Linking Binary With Librarys --> Add Other --> Add Files 

          然后键盘 / 前往文件夹 usr/local/lib ,添加需要用到的库 。作为首次使用opencv的新手,建议都添加。如果不知道添加哪个,可以 cd 到之前创建的release文件夹下的子目录lib,

          里面都是打包好的动态库。

          

        4.在Xcode工程目录下创建libs子文件夹,把lib下的库托进去。

          

          

    四、测试库函数。

    #include <iostream>
    #include <opencv2/opencv.hpp>
    #include <opencv2/imgproc/imgproc.hpp>
    using namespace cv;
    
    int main(){
    
        Mat srcImage = imread("/Users/vk/Desktop/openvk/2.jpg");
        imshow("Original Image", srcImage);
    
        Mat grayImage,edge;
        //转换为灰度图
        cvtColor(srcImage, grayImage, COLOR_BGR2GRAY);
        //降噪
        blur(grayImage, edge, Size(3,3));
        //运行Canny算子,3为threshold1,9为threshold2
        Canny(edge, edge, 3, 9);
    
        imshow("After canny", edge);
        waitKey(0);
        return 0;
    }

         如果报错“未能发现  #include <opencv2/opencv.hpp>”,定位到/usr/local/include里的opencv4,把opencv4里的opencv2字文件夹复制出来,到opencv4同级,错误就没了。

      或者#include <opencv4/opencv2/opencv.hpp>

      上面代码测试出来的边缘检测如下所示:

          

                                                                          

                

      

      

      

        

      

  • 相关阅读:
    JavaScript运行机制 Event Loop
    async 函数
    JavaScript Promise 对象
    pc端rest.css
    微信小程序公用样式类
    移动端base.css
    RegExp正则对象匹配规则
    RegExp正则相关方法
    mysql(五)事务
    mysql(四)海量数据优化
  • 原文地址:https://www.cnblogs.com/vkSwift/p/13961538.html
Copyright © 2020-2023  润新知