OpenCV macOS开发环境搭建

第一步:下载OpenCV开发包

官网地址https://opencv.org/

OpenCV macOS开发环境搭建_第1张图片
下载OpenCV3.3
OpenCV macOS开发环境搭建_第2张图片
前往Github下载
OpenCV macOS开发环境搭建_第3张图片
下载源码包

第二步:安装Homebrew(用于安装CMake)

安装文档地址:http://brew.sh/index_zh-cn.html
快速安装直接执行以下命令安装:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

第三步:安装CMake(用于安装OpenCV)

CMake是一个跨平台编译工具
第一种安装方式:下载安装(推荐使用下载安装)
下载官方:https://cmake.org/download/
第二种安装方式:执行命令安装(但是需求提前安装Homebrew)
brew install cmake

第四步:安装OpenCV

1. 进入下载OpenCV解压之后的文件夹
2. 执行命令(依次执行以下命令进行安装)
    命令一:mkdir build
    命令二:cd build
    命令三:cmake -G "Unix Makefiles" ..
    命令四:make
    命令五:sudo make install
3. 执行完命令,OpenCV安装完成

到此OpenCV环境就搭建好了,我们写一个小项目测试一下

  1. 新建iOS项目
  2. 在项目build setting->search path进行配置
OpenCV macOS开发环境搭建_第4张图片
项目配置

3.在官网下载iOS framework并导入项目中

OpenCV macOS开发环境搭建_第5张图片
下载iOS framework

OpenCV macOS开发环境搭建_第6张图片
选择下载好的framework
  1. 编写工具类
/**
 OpenCVImageUtils.h
 */

#import 

#include 
#include 
//支持iOS平台图片转换
#include 

using namespace cv;

@interface OpenCVImageUtils : NSObject


+(UIImage*)opencvImage:(UIImage*)srcImage dst:(UIImage*)dstImage;

@end
/**
 OpenCVImageUtils.mm
 */

#import "OpenCVImageUtils.h"

@implementation OpenCVImageUtils

+(UIImage*)opencvImage:(UIImage*)srcImage dst:(UIImage*)dstImage{
    //第一步:准备两种图片
    Mat mat_image_src;
    UIImageToMat(srcImage, mat_image_src);
    Mat mat_image_dst;
    UIImageToMat(dstImage, mat_image_dst);
    
    //第二步:创建叠加区域->开辟了一块内存空间
    Mat mat_roi = mat_image_src(Rect2i(0, 0, mat_image_dst.cols, mat_image_dst.rows));
    
    //第三步:图片叠加->加水印->合并之后覆盖原来的图片
    //参数一:第一个图片数组
    //参数二:第一个图片数组->权重
    //参数三:第二个图片数组
    //参数四:第二个图片数组->权重
    //参数五:权重和基础之上标量值
    //参数六:输出数组->输出目标
    //dst = src1*alpha + src2*beta + gamma;
    //伪代码:mat_roi * 0 + mat_image_dst * 1 + 0
    addWeighted(mat_roi, 0, mat_image_dst, 1, 0, mat_roi);
    
    //第四步:将Mat图片->iOS图片
    return MatToUIImage(mat_image_src);
}

@end


  1. 准备两张图片(蜡笔小新作为底图、大熊作为覆盖图)


    OpenCV macOS开发环境搭建_第7张图片
    素材
/**
 添加水印

 @param sender <#sender description#>
 */
- (IBAction)cover:(id)sender {
    UIImage *srcImg = [UIImage imageNamed:@"src.jpg"];
    UIImage *dstImg = [UIImage imageNamed:@"dst.jpg"];
    _imageView.image = [OpenCVImageUtils opencvImage:srcImg dst:dstImg];
    
}
  1. 执行后效果如下


    OpenCV macOS开发环境搭建_第8张图片
    效果图

你可能感兴趣的:(OpenCV macOS开发环境搭建)