我正在进行手检测,跟踪和识别,我需要计算第一主成分。我正在使用C#和EmguCV。我对PCA的经验是有限的,我一直在寻找关于这个问题的文档,教程和代码,并且不能得到一个合适的...
我唯一需要做的就是得到手的主要方向(据我所知,它是第一个主要成分)。
有人可以帮我理解如何从二进制图像中计算它吗?
提前致谢。
答案 0 :(得分:1)
看看: http://www.emgu.com/forum/viewtopic.php?f=7&t=3066#p6497
我不熟悉使用EmguCV的PCA。我会使用内置类的Accord.NET C#库:PrincipalComponentAnalysis.cs
所以有步骤:
get image data of an image as double[,] (that is your sourceMatrix)
var pca = new PrincipalComponentAnalysis(sourceMatrix, AnalysisMethod.Center);
pca.Compute();
double[,] components = pca.Transform(sourceMatrix, 0.8f, true); //your image with 80% information kept
convert components to your image
您也可以设置组件数而不是信息阈值