转载自总结一些机器视觉库
一、传统图像算法工程师:
主要涉及图形处理,包括形态学、图像质量、相机成像之3A算法、去雾处理、颜色空间转换、滤镜等,主要在安防公司或者机器视觉领域,包括缺陷检测;
二、现代图像算法工程师:
涉及模式识别,主要表现的经验为Adaboost、SVM的研究与应用,特征选取与提取,包括智能驾驶的研究与应用、行人检测、人脸识别;
三、人工智能时代图像算法工程师:
深度学习,主要在大型互联网公司或者研究所机构,具体体现在TensorFlow等开源库的研究与应用,包括机器人的研、基于深度学习的人脸识别;
CSDN上也总结了很多:(补充2016-12-21 23:49:53)
Deep Learning源代码收集-持续更新…
Deep Learning(深度学习)
计算机视觉、机器学习相关领域论文和源代码大集合–持续更新……
图像处理与计算机视觉:基础,经典以及最近发展
计算机视觉领域的一些牛人博客,超有实力的研究机构web主页(转)
来自西弗吉利亚大学li xin整理的CV代码合集(转)
图像处理与机器视觉行业分析
计算机视觉整理库
https://github.com/ty4z2008/Qix
通用库/General Library
OpenCV 无需多言。
RAVL Recognition And Vision Library. 线程安全。强大的IO机制。包含AAM。
CImg 很酷的一个图像处理包。整个库只有一个头文件。包含一个基于PDE的光流算法。
图像,视频IO/Image, Video IO
FreeImage
DevIL
ImageMagick
FFMPEG
VideoInput
portVideo
AR相关/Augmented Reality
ARToolKit 基于Marker的AR库
ARToolKitPlus ARToolKit的增强版。实现了更好的姿态估计算法。
PTAM 实时的跟踪、SLAM、AR库。无需Marker,模板,内置传感器等。
BazAR 基于特征点检测和识别的AR库。
局部不变特征/Local Invariant Feature
VLFeat 目前最好的Sift开源实现。同时包含了KD-tree,KD-Forest,BoW实现。
VLFeat:著名而常用
项目网站:http://www.vlfeat.org
著名的计算机视觉/图像处理开源项目,知名度应该不必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://www.vlfeat.org/matlab/matlab.html
Ferns 基于Naive Bayesian Bundle的特征点识别。高速,但占用内存高。
SIFT By Rob Hess 基于OpenCV的Sift实现。
目标检测/Object Detection
AdaBoost By JianXin.Wu 又一个AdaBoost实现。训练速度快。
行人检测 By JianXin.Wu 基于Centrist和Linear SVM的快速行人检测。
(近似)最近邻/ANN
FLANN 目前最完整的(近似)最近邻开源库。不但实现了一系列查找算法,还包含了一种自动选取最快算法的机制。
ANN 另外一个近似最近邻库。
SLAM & SFM
SceneLib [LGPL] monoSLAM库。由Androw Davison开发。
图像分割/Segmentation
SLIC Super Pixel 使用Simple Linear Iterative Clustering产生指定数目,近似均匀分布的Super Pixel。
目标跟踪/Tracking
TLD 基于Online Random Forest的目标跟踪算法。
KLT Kanade-Lucas-Tracker
Online boosting trackers Online Boosting Trackers
直线检测/Line Detection
DSCC 基于联通域连接的直线检测算法。
LSD [GPL] 基于梯度的,局部直线段检测算子。
指纹/Finger Print
pHash [GPL] 基于感知的多媒体文件Hash算法。(提取,对比图像、视频、音频的指纹)
视觉显著性/Visual Salience
Global Contrast Based Salient Region Detection Ming-Ming Cheng的视觉显著性算法。
FFT/DWT
FFTW [GPL] 最快,最好的开源FFT。
FFTReal [WTFPL] 轻量级的FFT实现。许可证是亮点。
音频处理/Audio processing
STK [Free] 音频处理,音频合成。
libsndfile [LGPL] 音频文件IO。
libsamplerate [GPL ]音频重采样。
小波变换 快速小波变换(FWT)
FWT
BRIEF: Binary Robust Independent Elementary Feature 一个很好的局部特征描述子,里面有FAST corner + BRIEF实现特征点匹配的DEMO:http://cvlab.epfl.ch/software/brief/
http://code.google.com/p/javacv
Java打包的OpenCV, FFmpeg, libdc1394, PGR FlyCapture, OpenKinect, videoInput, and ARToolKitPlus库。可以放在Android上用~
libHIK,HIK SVM,计算HIK SVM跟Centrist的Lib。http://c2inet.sce.ntu.edu.sg/Jianxin/projects/libHIK/libHIK.htm
一组视觉显著性检测代码的链接:http://cg.cs.tsinghua.edu.cn/people/~cmm/saliency/
Peter Kovesi的工具箱:轻量好用,侧重图像处理 http://www.peterkovesi.com/matlabfns/
项目网站: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,颜色空间算法
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的绝大多数算法了。