1、VLFeat:使用C语言编写提供C语言和Matlab两种接口,可以实现大量计算机视觉算法,其中包括:
(1)常用图像处理功能,包括颜色空间变换、几何变换(作为Matlab的补充,一般可用于数据集的扩充),常用的机器学习的算法,包括GMM、SVM、KMeans等,常用的图像处理plot工具。
(2)特征提取,包括Covariant、detectors、HOG、SIFT、MSER等。VLFeat提供了一个vl_covdet()函数作为框架,可以方便的统一所谓“co-variant feature detectors”,包括了DoG, Harris-Affine, Harris-Laplace并且可以提取SIFT或raw patches描述子。
(3)超像素(Superpixel)分割,包括常用的Quick shift, SLIC算法等
(4)高级聚类算法,比如整数KMeans:Integer k-means (IKM)、hierarchical version of integer k-means (HIKM),基于互信息自动判定聚类类数的算法Agglomerative Information Bottleneck (AIB) algorithm等
(5)高维特曾匹配算法,随机KD树Randomized kd-trees
点击链接可以查看VLFeat完整功能列表:、http://www.vlfeat.org/matlab/matlab.html
2、MexOpenCV:让Matlab支持调用的OpenCV
由石溪大学Kota Yamaguchi教授提出,最近已经合并到了OpenCV
最近(大概是9、10月)已经merge到了OpenCV主包,是的OpenCV的功能越来越强大。具体功能不详细介绍。
3、Peter Kovesi工具箱
这个Matlab的工具箱是由一位叫Peter的人所写,其中包括很多.m的文件,全部Matlab实现,无需编译安装,支持Octave(如果没有Matlab的话,有了这个工具箱也可以在Octave下进行图像处理了)。这个工具箱主要以图像处理算法为主,附带一些三维视觉的基本算法,列一些包括的功能:
(1)Feature Detection via Phase Congruency
(2)Spatial Feature Detection,Harris、Canny之类的特征算法
(3)Edge Linking and Line Segment Fitting,边缘特征和线特征的各种操作
(4)Image Denoising,图像降噪
(5)Surface Normals to Surfaces,从法向量积分出表面
(6)Scalogram Calculation
(7)Anisotropic diffusion,著名的保边缘平滑算法
(8)Frequency Domain Transformations,傅立叶变换
(9)Functions Supporting Projective Geometry,透视几何、三维视觉的一些算法
(10)Feature Matching、特征匹配
(11)Model Fitting and Robust Estimation、RANSAC
(12)Fingerprint Enhancement,指纹图像增强
(13)Interesting Synthetic Images,一些好玩儿的图像生成算法
(14)Image Blending,图像融合
(15)Colourmaps and colour conversions,颜色空间算法
可以在网站上http://www.csse.uwa.edu.au/~pk/research/matlabfns/看到全部功能的介绍和下载,非常推荐试一下,也可以学到不少算法。