论文出处:《基于OpenCV的机械零件局部特征的识别与检测》— 孙新军
粗减版:
1.openCV操作:
·图像高斯滤波
cvSmooth(0
·OTSU二值化
cvThreshold()
·图像膨胀处理
cvDilate(0
2.图像特征提取
·轮廓长度:cvArcLength
·轮廓面积: cvContourArea
·7个HU矩: cvGetHuMoments
·平均功率谱:cvDFT
·熵:
·能量
·对比度
·一致性
·行列式的值:cvDet
·条件数得倒数:cvInvert+CV_SVD(参数)
·范数:cvNorm
·0阶空间矩:cvGetSpatialMoment
3.图像特征识别与检测
随机森林学习算法:
bool CvRTrees::train()//训练
double CvRTrees::predict()//测试
//特征信息以行向量方式输入,80%样本进行训练
//具体参数看详细版
详细版:
0.open CV 补充知识
·opencv 数据访问方式
访问方式有四种:间接访问,直接访问,指针访问,用C66外壳访问。
·指针访问:
·单字节单通道的图像访问:
IplImage* img = cvCreateImage(cvSize(512,512),IPL_DEPTH_8U,1);
int height = img->height;
int width = img->.width;
int step = img->widthStep/sizeof(uchar);
uchar* data = (uchar*) img->imageData;
data[i*step+j] = 111;
·对单字节多通道图像访问:
IplImage* img = cvCreateImage(cvSize(512,512),IPL_DEPTH_8U,3);
int height = img->height;
int width = img->width;
int step = img->widthStep/sizeof(uchar);
int channels = img->nChannels;
uchar* data = (uchar*) img->imageData;
data[i*step+j*channels+k] = 111;
·openCV数据结构:
CvMat--矩阵类
IplImage--图像类
CvHistogram--多维柱状图混合类
CvSeq,CvSet--可变集合类
CvArr*--通用数组形式
1.图像目标区域提取
cvGetRectSubPix
提取规则:dst(x,y) = src(x+center.x-(width(dst)-1)X0.5,y+center.y-(height(dst)-1)X0.5)
函数对应的三个参数分别是:输入图像,提取的像素矩形,提取的像素矩形的中心。
2.图像滤波
文中选择了使用高斯滤波进行突破的平滑操作
·高斯滤波:
采用加权求均值的方法实现平滑滤波的效果。
·高斯滤波的五个重要性质:
1.旋转对称性: 滤波器再各个方向上的作用效果是一样的。
2.单值函数:高斯滤波器中目标点的像素值等于邻域像素值的加权值。
而权值是对应点与中心点之间按距离的单调函数。
3.高斯函数具有单瓣的傅立叶变换频谱:
因为高斯函数傅立叶变换等于高斯函数本身。图像含有高频信号和低频信号,
通常情况下,高频信号往往是不需要的信号(噪声,细纹理),在滤波时要将它去除。
但是图像的特征,边缘即含有高频,也有低频信号。
而这一特征表明滤波时可以去除掉不需要的高频信号,留下有用的特征。
4.高斯滤波器宽度由参数σ决定,且成正比,且平滑程度越好,
但是当参数值过大时又会出现过平滑现象,反之又会欠平滑,因此根据实际情况调整
5.高斯函数具有可分离性,可实现较大尺寸的高斯滤波器。
·高斯滤波器设计:
均值为0的一维高斯函数为:
其中σ决定了高斯滤波器的宽度。
图像的高斯滤波常用均值为0的二维离散高斯函数实现:
因此,设计高斯滤波器的关键在于计算高斯核,高斯核的计算可以通过二维高斯函数实现
图像的高斯滤波需要用离散的模板,连续高斯分布经过采样,量化处理后,可以得到离散的模板且模板需要做归一化处理。离散高斯卷积核的维数为H:(2k+1)X(2k+1)
在openCV中,高斯滤波可以通过cvSmooth实现,且在论文中,对于参数param1和param2的值均设置为5,param3和param4则为0
·图像二值化:
论文中使用的是OTSU阈值分割法。
·本节小结:
该节主要是使用opencv实现图像处理功能,包括目标区域的提取,图像滤波,图像二值化和图像膨胀
3.图像特征提取
通常图像识别中,主要提取图像的以下四类特征:
1.直观性特征。特点是容易提取,物理意义明确,如图像轮廓,边沿,区域和纹理等
2.灰度统计特征。把图像看作二维随机过程,对其进行统计分析。如图像的七个HU不变矩
3.变换域特征。可对图像进行Huohg变换,曲