大概介绍
OpenCV (Open Source Computer Vision Library) 是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C++和C语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python、Java and MATLAB的接口。如今也提供对于C#、Ch、Ruby,GO的支持。所以该库支持多种语言开发:如C,C++,Object_C,Swift, Windows, Android,Mac OS,Python,Java和 MATLAB等.所以通常用它来做算法的移植,并且OpenCV的代码经过适当改写可以正常的运行在DSP系统和ARM嵌入式系统中
Demo测试
本文主要基于iOS来阐述,测试使用这个框架去给一张图片添加马赛克,简单了解一下大概使用
1.首先得去官网下载它,然后倒入到项目中
opencv2.framework.png
2.先了解一下OpenCV的基本概念:
相信大家都知道:在C++和OC混编中报错,需要将 .m 文件 修改为 .mm 文件;
还有就是C++支持命名空间,所以需要导入C++的命名空间
using namespace cv;
Mat 矩阵 是OPenCV的基本数据结构
马赛克原理 大概其意思就是处理像素点,可以理解为把原先的一个一个像素点按照3 x 3 或者4 x 4划分成一个小方块,这个小方块的像素展示这个小方块最左上角的那个像素点的颜色来展示,这样平铺开来,比如原先展示10 x 10个像素点按照5x 5为一个方块展示,就只展示了4个像素