psyduck的opencv之路(一)

opencv环境配置

Posted by Psyduck on July 22, 2017

OpenCV (open source computer vision library)是一个非常强大的跨平台、多语言的计算机视觉库,大一的时候做项目入了坑没想到越走越远23333

然而函数库虽然好用但不会配环境不就非常的绝望了么【摊手】

这篇文章里会初步介绍一下opencv在多个平台下下载安装以及环境的配置

OpenCV c/c++的安装

Windows平台下

OpenCV在Windows平台下可以在这里直接下载OpenCV 3.2.0 版本更多历史版本可以在这里选择下载,这种方式很傻瓜,下载好后直接双击安装即可。安装过程中勾选“Add OpenCV to system PATH for all users”选项。(当然也可以安装完毕添加,在环境变量path中添加“<安装路径>/opencv/bin/”)

macOS平台下

OpenCV在macOS下 (笔者是Sierra 10.12.5 版本)有两种方式可供下载:

  • 直接下载OpenCV 3.2.0 下载完后双击安装即可

  • 利用Homebrew包管理器
    如果你还没有安装Homebrew可以前往<a herf =https://brew.sh/>brew.sh</a>安装
    安装完之后直接输入命令

brew update
brew tap homebrew/science
brew install cmake
brew install opencv  #opencv2.x Homebrew提供的这个版本据说有bug来着
brew install opencv3 #opencv3.x 

这个方法还是非常傻瓜的,安装之后所有的文件都会在/usr/local/Cellar文件夹下(这个路径很重要=。=配编译环境要用)

OpenCV c/c++的环境配置

Xcode配置(8.2.1)

  1. 添加lib文件查找支持: 修改工程Build Settings下Library Search Paths为/user/local/lib
  2. 添加头文件: 修改工程Build Settings下Search Path中的Header Search Paths为/user/local/include/usr/local/include/opencv
  3. 添加.dylib文件: 跳转到/usr/local/lib将其中所有opencv相关的.dylib都直接加入到工程文件中(或右键点击项目名选择“add files to进入后按 / 跳出go to the folder 再输入 /usr/local/lib”)

1

然后就可以愉快的开始敲代码啦(´▽`)

Clion配置

  1. 创建一个Clion项目名为“opencv_test”
  2. 打开其中CMakeLists.txt输入:
cmake_minimum_required(VERSION 3.7)
project(opencv_test)

set(OpenCV_DIR /usr/local/Cellar/opencv3/3.2.0/share/OpenCV)#这是我的路径如果有不一样的话记得改成自己的

find_package(OpenCV REQUIRED)

set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES main.cpp)
add_executable(opencv_test ${SOURCE_FILES})

target_link_libraries(opencv_test ${OpenCV_LIBS})

2

然后也可以愉快的开始敲代码啦(´▽`)

实例代码

这里给出一个实例代码,复制粘贴一下就能用啦(图片路径填自己的咯)(´▽`)

c++

#include <opencv2/core/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
#include <string>

using namespace cv;
using namespace std;

int main( int argc, char** argv )

{
    string imageName("这里填你要显示的图片所在的路径"); 
    if( argc > 1)
    {
        imageName = argv[1];
    }
    Mat image;
    image = imread(imageName.c_str(), IMREAD_COLOR); // Read the file
    if( image.empty() )    // Check for invalid input
    {
        cout <<  "Could not open or find the image" << std::endl ;
        return -1;
    }
    namedWindow( "Display window", WINDOW_AUTOSIZE ); // Create a window for display.
    imshow( "Display window", image );                // Show our image inside it.
    waitKey(0); // Wait for a keystroke in the window
    
    return 0;
    
}

Mac下OpenCV Python的安装及环境配置

如果你是一个用Python做OpenCV的开发者,那么当我前面都在放屁=。=正文从这里开始

首先默认你已成功安装Python3.5或以上版本以及相应的pip且已安装Xcode(如果没有还不快去装 超凶.jpg)

打开Terminal安装Apple Command Line Tools

$ sudo xcodebuild -license
$ sudo xcode-select --install

再安装Python-OpenCV的依赖包

$ pip install numpy
$ pip install matplotlib

安装OpenCV

$ brew install opencv3 --with-contrib --with-python3 --HEAD

再把/usr/local/Cellar/opencv3/3.2.0/lib/python3.6/site-packages目录下的cv2.cpython-36m-darwin.so文件复制到 /usr/local/lib/python3.6/site-packages目录下

然后就安好啦(´▽`)

进Python环境输入

import cv2

没报错的话就是成功啦

实例代码

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('你自己的图片', 0)
plt.imshow(img, cmap='gray', interpolation='bicubic')
plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis
plt.show()