Python计算机视觉编程 笔记
2014-10-07 22:57
393 查看
Python计算机视觉编程
目录
1基本的图像操作和处理
2
局部图像描述子
3
图像到图像的映射
4
照相机模型与增强现实
5
多视图几何
6
图像聚类
7
图像搜索
8
图像内容分类
9
图像分割
10
OpenCV
11
附录A 安装软件包
12
附录B 图像集
基本的图像操作和处理
PIL转化成灰度:g = Image.open('a.jpg').convert('L');
转换格式:直接save(),指定不同的文件后缀即可
Matplotlib
plot(x,y,'go-'); title(...); ... show();
3字符的style编码:颜色-标记-线型
直方图均衡化
imhist, bins = histogram(im.flatten(), nbr_bins=256, normed=True);
cdf = imhist.cumsum();
cdf = 255*cdf/cdf[-1] #归一化
im2 = interp(im.flatten(), bins[:-1], cdf)
return im2.reshape(im.shape), cdf
PCA
M = dot(X, X.T)e, EV = linalg.eigh(M)tmp = dot(X.T, EV)V = tmp[::-1]S = sqrt(e)[::-1]for i in range(V.shape[1]): V[:,1] /= S
使用pickle模块
f = open('f.pkl', 'wb')
pickle.dump(obj, f)
SciPy
im2 = filters.gaussian_filter(im)
for in [0,1,2]: im2[:,:,i] = filters.gaussian_filter(im[:,:,i],5)
形态学
from scipy.ndimage import measurements, morphology
labels, n_objects = measurements.label(im)
使用开操作分开对象:im2 = morphology.binary_opening(im, ones((9,5)), iterations=2)
读写Matlab .mat文件:scipy.io.loadmat
ROF模型去噪(看上去效果不错嘛)
min_U ||I-U||^2 + 2λJ(U)
局部图像描述子
Harris角点检测寻找图像间的对应点
兴趣点描述子
SIFT
VLFeat工具包?(k,作者甚至没有提供SIFT的Python实现代码!)
匹配地理标记图像
p52 Pydot使用Pyparsing和GraphViz
图像到图像的映射
单应性变换直接线性变换 DLT
仿射变换
图像扭曲
homography.Haffine_from_points:返回给定点对的最优仿射变换
分段仿射扭曲
三角化:matplotlib.delaunay.delaunay(x,y)
图像配准(图像对眼睛和嘴的坐标进行了标记!)
a,b,tx,ty = linalg.lstsq(A,y)[0] #计算最小化||Ax-y||的最小二乘解
创建全景图
RANSAC(随机一致性采样)
稳健的单应性矩阵估计
拼接图像(哦~!)
照相机模型与增强现实
针孔照相机模型照相机矩阵:P=K[R|t]
其中,R是旋转矩阵,t是中心位置的平移向量,内标定K描述投影性质
K = [af, s, cx; 0, f, cy; 0, 0, 1], f焦距,s倾斜参数
简化为 K = [f, 0, cx; 0, f, cy; 0, 0, 1], “唯一的未知变量是焦距f”
恢复K,R,t;RQ因子分解
计算照相机中心
给定P,可以计算中心C,满足:PC=0, C=-R^T t
照相机标定(求K)
标准方法:拍摄多幅棋盘图像... => 和图像分辨率有关?
以平面和标记物进行姿态估计*
增强现实
PyGame和PyOpenGL
从照相机矩阵到OpenGL格式*
放置虚拟物体
载入模型(ObjFileLoader)
多视图几何
?外极几何计算F:8点法
外极点和外极线
照相机和三维结构的计算
?三角剖分
给定照相机的参数模型,可恢复出点的三维位置
由三维点计算照相机矩阵
由基础矩阵计算照相机矩阵(双视图的情况)
多视图重建
SfM
检测特征点,在2幅图像间匹配
计算基础矩阵 <-- 稳健估计!
计算照相机矩阵
三角剖分这些三维点
扩展示例
光束法平差 ?
自标定
立体图像
利用2台只有水平偏移的照相机观测同一场景
计算视差图 <-- 归一化互相关?
图像聚类
K-Means聚类层次聚类
hcluster.draw_dendrogram
谱聚类
图像搜索
CBIR视觉单词
图像索引
在数据库中搜索图像(词袋模型)
利用几何特性对结果排序
建立演示程序和Web应用
CherryPy
图像内容分类
KNN*用稠密SIFT作为图像特征
手势识别
Bayes分类器
SVM
OCR
sudoku
图像分割
图割利用聚类进行分割
变分法
OpenCV
import cv2附录A 安装软件包
附录B 图像集
相关文章推荐
- MIT公开课:计算机科学及编程导论 Python 笔记5 浮点数,逐次逼近法和二分法
- Python计算机视觉编程练习3:anaconda查看、安装、更新库
- 推荐一个计算机视觉图书:python计算机视觉编程
- 计算机科学与Python编程导论_MIT 学习笔记(一)
- 《OpenCV 3计算机视觉:Python语言实现》学习笔记——目标跟踪中基本运动检测的思考
- 推荐一个计算机视觉图书:python计算机视觉编程
- Python计算机视觉编程练习11:备忘
- python计算机视觉编程-01
- Python计算机视觉编程练习13:文件(夹)批量更名、图像批量resize
- 推荐一个计算机视觉图书:python计算机视觉编程
- Python计算机视觉编程练习1:Python 调用 SIFT
- Python计算机视觉编程练习9:argparse 模块学习
- Python计算机视觉编程练习5:pickle模块学习
- 推荐一个计算机视觉图书:python计算机视觉编程
- MIT麻省理工学院公开课:计算机科学及编程导论 Python 笔记1-3
- Python计算机视觉编程练习2:import 自定义模块
- Python计算机视觉编程练习7:文件操作
- Python计算机视觉编程练习8:string 模块学习
- 推荐一个计算机视觉图书:python计算机视觉编程
- python计算机视觉编程(全)(强烈推荐)