统计分析学习笔记——图像处理中的统计应用案例
2013-11-09 10:14
796 查看
声明:本文是谢中华先生《Matlab统计分析与应用:40个案例分析》学习笔记!
一、基于图像资料的数据重建与拟合
1、问题描述:有一幅某函数RGB图像,只知道函数带有待定系数的表达式。需要根据此图像重建绘图的原数据,并求出函数方程。
2、问题分解:
a 读入图像数据:imread();
b 去除坐标框:由于matlab显示图像的坐标框是黑色的,而绘图区域的背景是白色的,所以可以分别对图像红色灰度矩阵的每行(列)相加,求其最小和次小的行
(列),即可定位上下(左右)边框的位置;
c 提取曲线上的坐标点:根据灰度值定位曲线的像素点;
d 将像素坐标转换为实际坐标:首先像素点坐标转化为图像中的距离坐标,在转化为图像所用的直角坐标系坐标。
e 拟合曲线:nlinfit,使用自定义函数。
二、基于K均值聚类的图像分割
1、问题描述:对于给定的灰度图像,将前景图像和背景图像分割。
2、问题分解:
a 读入图像:
b 聚类:将图像拉伸成向量;根据前景和背景的灰度值设置初始聚类中心,聚类数为2,调用kmeans函数;
c 背景分离:由聚类结果求出前景点的索引,再转化为图像矩阵的坐标,imshow即可。
3、问题讨论:如果分割RGB图像,其聚类的坐标应该是RGB的值,所以要将图像数据转化为m*n行、3列的矩阵。因为我们是对灰度值进行聚类,而不是坐标。
三、基于中位数算法的运动目标检测
1、问题描述:有一段背景不变,目标物移动的avi视频,240*360,共80帧。要求对每一帧挖出目标图像。
2、问题分解:
a 载入视频数据:可以使用aviread函数,mmreader类或VideoReader类(推荐)。如果调用结果有解码器的错误,可以下
载解码器 thunder://QUFodHRwOi8vNjcuZHVvdGUuY29tLmNuL2FsbGluLmV4ZVpa或者用记事本保存代码:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32]
"vidc.cvid"="iccvid.dll"
"vidc.iv31"="ir32_32.dll"
"vidc.iv32"="ir32_32.dll"
"vidc.iv41"="ir41_32.ax"
"vidc.iv50"="ir50_32.dll"
保存为xx.reg,双击运行即可。
b 数据类型转换:将视频数据转换为80行,240*360*3列的矩阵I。其每一行对应同一帧图像上所有像素点的RGB值,每一列对应不同帧图像上相同位置像素点的
R(G或B)值。
c 求I的列的中位数:相当于确定背景。
d 背景分割:用原始的帧减去背景图像即可。
四、基于贝叶斯判别的手写体数字识别
1、问题描述:50幅手写阿拉伯数字图片作为训练样本,30幅手写阿拉伯数字图片作为检验样本。需要训练NaiveBayes分类器对检验样本分类,并求出误判样本和误判率。
2、问题分解:
a 批量载入训练样本和检验:可以使用eval语句做循环,也可以使用交互式对话框uigetfile。
b 图片标准话:对所有图片做反色处理;使用im2bw转化为2值图像;截取二值图像中包含数字的最大区域;将图像resize为16*16。
c 创建朴素贝叶斯分类器:ObjBayes=NaiveBayes.fit(training,group,'Distribution','mn');
d 对训练样本和检验样本分类:pre0=ObjBayes.predict(training);
pre1=ObjBayes.predict(test);
e 判别效果统计:统计误判样本,计算误判率。
五、基于主成分分析的图像压缩与重建
1、问题描述:对于跟定的256*320 RGB图像,按一定的比率做PCA有损压缩。
2、问题分解:
a 读图像数据:将三维矩阵元素转化为0~1的双精度double。
b 图像分块:将图像分为16*20的小块,每个小块按列拉长为16*16*3=768的行向量。最后得到320*768的矩阵X。一般在图像中,每一块上相邻像素点的颜色灰
度值有相关性,故X的列与列之间有相关性。由此可以对列(变量)做降维。
c 线性PCA:根据指定的压缩比例选取合适数量的主元,调用pcares。
d 重建:将pcares返回的重建矩阵xpr转换为图像,并显示。
六、体会:
Matlab是基于矩阵运算的面向对象的可视化高级语言,对统计分析和图像处理有天然优势。利用矩阵的基本运算提高程序的编写与运行效率,今后需加强。
一、基于图像资料的数据重建与拟合
1、问题描述:有一幅某函数RGB图像,只知道函数带有待定系数的表达式。需要根据此图像重建绘图的原数据,并求出函数方程。
2、问题分解:
a 读入图像数据:imread();
b 去除坐标框:由于matlab显示图像的坐标框是黑色的,而绘图区域的背景是白色的,所以可以分别对图像红色灰度矩阵的每行(列)相加,求其最小和次小的行
(列),即可定位上下(左右)边框的位置;
c 提取曲线上的坐标点:根据灰度值定位曲线的像素点;
d 将像素坐标转换为实际坐标:首先像素点坐标转化为图像中的距离坐标,在转化为图像所用的直角坐标系坐标。
e 拟合曲线:nlinfit,使用自定义函数。
二、基于K均值聚类的图像分割
1、问题描述:对于给定的灰度图像,将前景图像和背景图像分割。
2、问题分解:
a 读入图像:
b 聚类:将图像拉伸成向量;根据前景和背景的灰度值设置初始聚类中心,聚类数为2,调用kmeans函数;
c 背景分离:由聚类结果求出前景点的索引,再转化为图像矩阵的坐标,imshow即可。
3、问题讨论:如果分割RGB图像,其聚类的坐标应该是RGB的值,所以要将图像数据转化为m*n行、3列的矩阵。因为我们是对灰度值进行聚类,而不是坐标。
三、基于中位数算法的运动目标检测
1、问题描述:有一段背景不变,目标物移动的avi视频,240*360,共80帧。要求对每一帧挖出目标图像。
2、问题分解:
a 载入视频数据:可以使用aviread函数,mmreader类或VideoReader类(推荐)。如果调用结果有解码器的错误,可以下
载解码器 thunder://QUFodHRwOi8vNjcuZHVvdGUuY29tLmNuL2FsbGluLmV4ZVpa或者用记事本保存代码:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32]
"vidc.cvid"="iccvid.dll"
"vidc.iv31"="ir32_32.dll"
"vidc.iv32"="ir32_32.dll"
"vidc.iv41"="ir41_32.ax"
"vidc.iv50"="ir50_32.dll"
保存为xx.reg,双击运行即可。
b 数据类型转换:将视频数据转换为80行,240*360*3列的矩阵I。其每一行对应同一帧图像上所有像素点的RGB值,每一列对应不同帧图像上相同位置像素点的
R(G或B)值。
c 求I的列的中位数:相当于确定背景。
d 背景分割:用原始的帧减去背景图像即可。
四、基于贝叶斯判别的手写体数字识别
1、问题描述:50幅手写阿拉伯数字图片作为训练样本,30幅手写阿拉伯数字图片作为检验样本。需要训练NaiveBayes分类器对检验样本分类,并求出误判样本和误判率。
2、问题分解:
a 批量载入训练样本和检验:可以使用eval语句做循环,也可以使用交互式对话框uigetfile。
b 图片标准话:对所有图片做反色处理;使用im2bw转化为2值图像;截取二值图像中包含数字的最大区域;将图像resize为16*16。
c 创建朴素贝叶斯分类器:ObjBayes=NaiveBayes.fit(training,group,'Distribution','mn');
d 对训练样本和检验样本分类:pre0=ObjBayes.predict(training);
pre1=ObjBayes.predict(test);
e 判别效果统计:统计误判样本,计算误判率。
五、基于主成分分析的图像压缩与重建
1、问题描述:对于跟定的256*320 RGB图像,按一定的比率做PCA有损压缩。
2、问题分解:
a 读图像数据:将三维矩阵元素转化为0~1的双精度double。
b 图像分块:将图像分为16*20的小块,每个小块按列拉长为16*16*3=768的行向量。最后得到320*768的矩阵X。一般在图像中,每一块上相邻像素点的颜色灰
度值有相关性,故X的列与列之间有相关性。由此可以对列(变量)做降维。
c 线性PCA:根据指定的压缩比例选取合适数量的主元,调用pcares。
d 重建:将pcares返回的重建矩阵xpr转换为图像,并显示。
六、体会:
Matlab是基于矩阵运算的面向对象的可视化高级语言,对统计分析和图像处理有天然优势。利用矩阵的基本运算提高程序的编写与运行效率,今后需加强。
相关文章推荐
- Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析
- Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析
- Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析
- Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析
- vc图像处理学习笔记1-图像格式分析及显示
- Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析
- Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析
- 【数字图像处理学习笔记之三】Blob分析
- 图像处理、分析、识别、应用的课程笔记,PPT/PDF课件,计算机视觉中的机器学习、目标识别、分割、文本识别、fMRI 分析、运动和追踪等在线视频教程
- SAS统计分析学习笔记(八)——T检验和非参数比较
- 图像处理 非线性滤波 学习笔记
- Matlab图像处理学习笔记(一):二值化、开操作、连通区域提取、重心、ROI
- MATLAB学习笔记二(关于图像处理)
- Symbian学习笔记(4):在GUI应用中使用图像
- Linux邻居协议 学习笔记 之二 通用邻居处理函数对应的数据结构的分析
- 二维小波分析对图像处理的应用(2)
- Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍
- Matlab图像处理学习笔记(三):基于匹配的目标识别
- 深度学习在医学图像处理中的应用
- 应用统计学与R语言实现学习笔记(十二)——主成分分析