您的位置:首页 > 理论基础

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 图像集

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: