Matlab计算机视觉/图像处理工具箱推荐
Matlab计算机视觉/图像处理工具箱推荐分类: 图像处理
转自:http://cvnote.info/matlab-cv-ip-toolbox/
计算机视觉/图像处理研究中经常要用到Matlab,虽然其自带了图像处理和计算机视觉的许多功能,但是术业有专攻,在进行深入的视觉算法研究的时候Matlab的自带功能难免会不够用。本文收集了一些比较优秀的Matlab计算机视觉工具箱,希望能对国内的研究者有所帮助。VLFeat:著名而常用项目网站:http://www.vlfeat.org许可证:BSD著名的计算机视觉/图像处理开源项目,知名度应该不必OpenCV低太多,曾获ACM Open Source Software Competition 2010一等奖。使用C语言编写,提供C语言和Matlab两种接口。实现了大量计算机视觉算法,包括:
[*]常用图像处理功能,包括颜色空间变换、几何变换(作为Matlab的补充),常用机器学习算法,包括GMM、SVM、KMeans等,常用的图像处理的plot工具。
[*]特征提取,包括 Covariant detectors, HOG, SIFT,MSER等。VLFeat提供了一个vl_covdet() 函数作为框架,可以方便的统一所谓“co-variant feature detectors”,包括了DoG, Harris-Affine, Harris-Laplace并且可以提取SIFT或raw patches描述子。
[*]超像素(Superpixel)分割,包括常用的Quick shift, SLIC算法等
[*]高级聚类算法,比如整数KMeans:Integer k-means (IKM)、hierarchical version of integer k-means (HIKM),基于互信息自动判定聚类类数的算法Agglomerative Information Bottleneck (AIB) algorithm等
[*]高维特曾匹配算法,随机KD树Randomized kd-trees
可以在这里查看VLFeat完整的功能列表。(欢迎访问计算机视觉研究笔记http://cvnote.info或者关注新浪@cvnote)MexOpenCV:让Matlab支持调用的OpenCV项目网站:http://www.cs.sunysb.edu/~kyamagu/mexopencv/作者Kota Yamaguchi桑是石溪大学(Stony Brook University)的PhD,早些时候自己搞了一套东西把OpenCV的代码编译成Matlab可用的mex接口,然后这个东西迅速火了。今年夏天这个项目被OpenCV吸收为一个模块,貌似是搞了一个Google Summer of Code(GSoC)的项目,最近(大概是9、10月)已经merge到了OpenCV主包,有兴趣的可以到Github的OpenCV库下的module/matlab去玩一下,应该会在10月份的OpenCV 3 alpha里正式发布。现在OpenCV就同时有了Python和Maltab的binding(好强大)。具体的功能就不细说了,既然是OpenCV的binding,当然是可以使用OpenCV的绝大多数算法了。比如这样:
http://www.cs.sunysb.edu/~kyamagu/mexopencv/facedetect.pngPeter Kovesi的工具箱:轻量好用,侧重图像处理项目网站:http://www.csse.uwa.edu.au/~pk/research/matlabfns/这位Peter大哥目前在The University of Western Australia工作,他自己写了一套Matlab计算机视觉算法,所谓工具箱其实就是许多m文件的集合,全部Matlab实现,无需编译安装,支持Octave(如果没有Matlab的话,有了这个工具箱也可以在Octave下进行图像处理了)。别看这位大哥单枪匹马,人家的工具箱可是相当有名,研究时候需要哪个Matlab的计算机视觉小功能,直接到他家主页上下几个m文件放在自己文件夹就好了。这个工具箱主要以图像处理算法为主,附带一些三维视觉的基本算法,列一些包括的功能:
[*]Feature Detection via Phase Congruency,求达人解释这个是啥
[*]Spatial Feature Detection,Harris、Canny之类的特征算法
[*]Edge Linking and Line Segment Fitting,边缘特征和线特征的各种操作
[*]Image Denoising,图像降噪
[*]Surface Normals to Surfaces,从法向量积分出表面
[*]Scalogram Calculation,求达人解释这个是啥
[*]Anisotropic diffusion,著名的保边缘平滑算法
[*]Frequency Domain Transformations,傅立叶变换
[*]Functions Supporting Projective Geometry,透视几何、三维视觉的一些算法
[*]Feature Matching、特征匹配
[*]Model Fitting and Robust Estimation、RANSAC
[*]Fingerprint Enhancement,指纹图像增强
[*]Interesting Synthetic Images,一些好玩儿的图像生成算法
[*]Image Blending,图像融合
[*]Colourmaps and colour conversions,颜色空间算法
可以在网站上看到全部功能的介绍和下载,非常推荐试一下,也可以学到不少算法。Machine Vision Toolbox:侧重机器视觉、三维视觉项目网站:http://www.petercorke.com/Machine_Vision_Toolbox.html许可证:LGPL以前没有用过这个工具箱,最近发现竟然非常强大,而且和我自己的工作还很相关。这个工具箱侧重机器视觉,作者是另一个Peter,Peter Corke在机器人界很有名,他在2011年写了一本书《Robotics, Vision & Control》介绍了机器视觉相关的颜色、相机模型、三维视觉、控制等研究,并配套这个工具箱。算法包括了大量常用的视觉和图像处理小函数,,这些就不提了,提几个别的工具箱一般没有的功能
[*]Bag of words的Matlab实现
[*]各种相机模型的实现,包括普通相机、鱼眼相机、Catadioptric相机模型等等。如果你做机器人视觉、挂在各种广角相机的话,这些模型实现会很有用
[*]自带简单的相机标定功能
[*]对极几何(Epipolar Geomtry)的相关算法函数
[*]Plucker坐标的实现,做广义相机模型(Generalized camera model)很有用
http://www.petercorke.com/Machine_Vision_Toolbox_files/frontcover-small.jpgPiotr's Image & Video Matlab Toolbox:侧重物体识别项目网站:http://vision.ucsd.edu/~pdollar/toolbox/doc/index.html许可证:Simple BSD(补充一个工具箱)由UCSD的Piotr Dollar编写,侧重物体识别(Object Recognition)检测相关的特征提取和分类算法。这个工具箱属于专而精的类型,主要就是Dollar的几篇物体检测的论文的相关算法,如果做物体识别相关的研究,应该是很好用的。同时它的图像操作或矩阵操作函数也可以作为Matlab图像处理工具箱的补充,功能主要包括几个模块:
[*]channels模块,图像特征提取,包括HOG等,Dollar的研究工作提出了一种Channel Feature的特征1,因此这个channels主要包括了提取这一特征需要的一些基本算法梯度、卷及等基本算法
[*]classify模块,一些快速的分类相关算法,包括random ferns, RBF functions, PCA等
[*]detector模块,与Channel Feature特征对应的检测算法1
[*]filters模块,一些常规的图像滤波器
[*]images模块,一些常规的图像、视频操作,有一些很实用的函数
[*]matlab模块,一些常规的Matlab函数,包括矩阵计算、显示、变量操作等,很实用
[*]videos模块,一些常规的视频操作函数等
1. P. Dollár, Z. Tu, P. Perona and S. Belongie, "Integral Channel Features", BMVC 2009.DIPUM Toolbox:经典教材配套项目地址:http://www.imageprocessingplace.com/DIPUM_Toolbox_2/DIPUM_Toolbox_2.htm冈萨雷斯著名的图像处理教材《数字图像处理》的配套工具包,主要是书中图像处理算法的实现,名气自然是不必说了,网上可以免费下到加密后的p文件放在Matlab下面用,作为图像处理入门的上手玩具。http://img11.360buyimg.com/n11/17852/e44ad28b-49ba-490e-8db9-5d431f6ef568.jpgMATLAB Functions for Multiple View Geometry:又一个经典教材配套项目网站:http://www.robots.ox.ac.uk/~vgg/hzbook/code/许可证:MIT又是一本大名鼎鼎的教材《计算机视觉中的多图几何》(Multiple View Geometry in Computer Vision),值得所有做三维视觉的研究者好好研究的书,国内很早就翻译了中文版。作者Zisserman提供了部分书中算法的Matlab实现,是深入理解书中理论的非常好的辅助材料。http://olovebk.files.wordpress.com/2011/01/mvg2.jpg其他的工具箱
[*]DIPImage & DIPLib,提供Matlab和C接口的图像处理功能,比较早,现在估计很少有人用或者知道了吧?
[*]Matlab CVPR toolbox,计算机视觉和模式识别相关的Matlab功能,好像没什么人用。
[*]相关领域的工具箱,比如做机器学习的、做Markov随机场的等等,以后有机会写一下。
[*]特定功能的工具箱,比如相机标定工具箱,这个可推荐的还阵挺多,以后有机会写一下。
[*]这个链接里可以找到一些Matlab的开源工具箱
页:
[1]