cvCalcEigenDecomposite——opencv内置PCA算法的第二个函数
来源:互联网 发布:注册一个淘宝客公司 编辑:程序博客网 时间:2024/05/21 10:42
PCA(Eigenface)方法是人脸识别的主流方法之一。cvEigenDecomposite()函数作用是将人脸图像通过Eigenface变换矩阵,投射到子空间中。子空间中的人脸向量,是一个1×nEigens(nEigens由自己取得)的行向量,极大地降低了数据维度,便于下一步的聚类、识别。结合具体例子,尽量清楚地跟大家讨论这个函数的用途。
函数说明如下:
EigenDecomposite
Calculates all decomposition coefficients for input object
计算输入目标的所有的分解系数
void cvEigenDecomposite( IplImage* obj, int nEigObjs, void* eigInput, int ioFlags, void* userData, IplImage* avg, float* coeffs );
- obj
- Input object.
- 输入目标
- nEigObjs
- Number of eigen objects.
- 自选eigen数量
- eigInput
- Pointer either to the array of IplImage input objects or to the read callback function according to the value of the parameterioFlags.
- eigenface向量组成的变换矩阵,数据结构属于IplImage队列,或者根据ioFlag参数值变化的回调函数。
- ioFlags
- Input/output flags.
- userData
- Pointer to the structure that contains all necessary data for the callback functions.
- avg
- Averaged object.
- coeffs
- Calculated coefficients; an output parameter.
- 这是唯一一个输出,即人脸在子空间的投影,,,(decomposition coefficients... 数学不太好- -)
The function cvEigenDecomposite calculates all decomposition coefficients for the input object using the previously calculated eigen objects basis and the averaged object. Depending onioFlags parameter it may be used either in direct access or callback mode.
在程序中,cvCalcEigenObject()只需要在训练时使用,依据训练样本,计算Eigenface的变换矩阵。如本页的装饰图片所示。
而cvEigenDecomposite(),既需要产生训练样本的投影,又需要产生测试脸的投影。
cvEigenDecomposite(
faceImgArr[i],
nEigens,
eigenVectArr,
0, 0,
pAvgTrainImg,
projectedTestFace);
这里是对于每张测试脸faceImgArr[i],产生投影。训练时得到训练样本投影脸的函数调用方法如下:
for(i=0; i<nTrainFaces; i++)
{
//int offset = i * nEigens;
cvEigenDecomposite(
faceImgArr[i],
nEigens,
eigenVectArr,
0, 0,
pAvgTrainImg,
projectedTrainFaceMat->data.fl + i*offset);
}
- cvCalcEigenDecomposite——opencv内置PCA算法的第二个函数
- cvCalcEigenDecomposite——opencv内置PCA算法的第二个函数小记。
- cvCalcEigenDecomposite——opencv内置PCA算法
- cvCalcEigenObject——opencv内置PCA算法的第一个函数
- Opencv中的pca算法
- opencv学习-算法-pca
- opencv PCA算法
- openCV基础函数imread第二个参数
- openCV基础函数imread第二个参数
- PCA算法与Opencv实现
- opencv 的pca
- 用opencv实现的PCA算法,非API调用
- OpenCV学习(35) OpenCV中的PCA算法
- OpenCV学习笔记(四十八)——PCA算法实现core
- OpenCV学习笔记(四十八)——PCA算法实现core
- PCA算法学习_1(OpenCV中PCA实现人脸降维)
- OpenCV-Python[第二章]——画图函数
- 第二天:OpenCV基本的绘图函数
- Remote PUMA SPI REST Service
- 过滤器与拦截器的区别
- Flex 将控件的值传递给函数的3中方式
- JavaScript中的ActiveXObject对象
- Kill Child Processes
- cvCalcEigenDecomposite——opencv内置PCA算法的第二个函数
- 关于PIL库的一些概念
- 统计描述的EXCEL操作
- 用htmlWindow实现“关于”对话框
- iPhone 将本地时间转换为字符串
- 统计整理——数据透视表的使用
- 同步方式的消息发送和异步方式的消息发送
- 关于SIP服务器opensips和Asterisk比较的好文章
- 插入排序算法