利用visual assist X为VS2012自动添加注释
今天修改OpenCV库,然后重新编译,再调用新编译好的dll,发现不能进入修改后的程序,加入断点会显示警告:“当前不会名字断点 还没有为该文档加载任何符号”
原因在于,程序调用的dll没有成功地和修改后的程序相匹配。
解决方案是:
Step 1: 将调用该项目的exe复制到编译生成的dll目录下(非常重要!)
Step 2: 在编译OpenCV的解决方案下,选择对应的项目,(比如我的是cv_objdetect),右键,属性——配置属性——调试
在“命令”里加入调用该项目生成的dll的exe(与dll同目录)
在“工作目录”中设置生成的dll所在的目录
命令参数按照需要设定
Step 3: 在项目中点击右键,调试——进入单步调试,即可解决问题。
实验中,matlab用cov()得到协方差矩阵,这个矩阵作为多维高斯分布的gamma参数,结果gamma参数要求该矩阵为正定矩阵,而该矩阵只能保证为对称矩阵。http://stackoverflow.com/questions/11269715/matlabs-sigma-must-be-symmetric-and-positive-definite-error-sometimes-not-mak
给出了解决方案
This happens if the diagonal values of the covariance matrix are (very close to) zero. A simple fix is add a very small constant number to c
.
err_cnt = 0;
for i = 1:1000
try
a = rand(3);
c = cov(a) + .0001 * eye(3);
m = mean(a);
mvnpdf(a, m, c);
catch me
err_cnt = err_cnt + 1;
end
end
Results in 0 errors.
第一次接触libsvm,是在今年春节的时候,参加数模美赛,当时在并不太熟悉libsvm的情况下,一边参考着网上的libsvm教程,一边依照着自己的理解,利用libsvm进行了三维特征向量空间的分类,并按照自己的思考加简单测试写的决策函数,类似于http://www.matlabsky.com/thread-12649-1-1.html#346396-tsina-1-5117-284f7ead64dc6d44826e34b59e8e7b01 ,现在回想起来,当时还是用线性核的决策函数去处理RBF生成的model,或许是维度太低,(我们对数据预处理时将其降低了15维),美赛的时候分类结果很不错,由此也导致我一直以为此种做法的正确性。