opencv 学习备注2
来源:互联网 发布:华信永益怎么样 知乎 编辑:程序博客网 时间:2024/05/19 10:11
发现cvresize后的image,值域可能超出[0,1],导致转换成bitmap失败,不知道是否和插值算法有关。以后在看了。先记下。
现在先修改下IplImage2Bmp函数加上归一功能
在把rob hess的代码加到winform中的时候(c++),注意要把带有fprintf的地方该掉。否则会有链接错误。
关于这个错误的说明,可以google extern c,extern c++。
rob hess中interp_step的理解,Lowe论文公式3,求亚像素精度的最佳极值点。同时求x,y,s三维的亚像素最佳值
为了保证求得稳定的结果,这个函数被循环执行5次。
void interp_step( IplImage*** dog_pyr, int octv, int intvl, int r, int c,
double* xi, double* xr, double* xc )
{
CvMat* dD, * H, * H_inv, X;
double x[3] = { 0 };
dD = deriv_3D( dog_pyr, octv, intvl, r, c );//理解一阶导数二阶导数,则deriv_3D和hessian_3D就能理解。
H = hessian_3D( dog_pyr, octv, intvl, r, c );
H_inv = cvCreateMat( 3, 3, CV_64FC1 );
cvInvert( H, H_inv, CV_SVD );
cvInitMatHeader( &X, 3, 1, CV_64FC1, x, CV_AUTOSTEP );//X只是一个指针,实际的值放在x中,
cvGEMM( H_inv, dD, -1, NULL, 0, &X, 0 );//实际的值放在x中,看上面一行。cv的代码还是不够直观,这点比不上matlab。
cvReleaseMat( &dD );
cvReleaseMat( &H );
cvReleaseMat( &H_inv );
*xi = x[2];
*xr = x[1];
*xc = x[0];
}
- opencv 学习备注2
- opencv学习备注
- OPENCV的2-10备注
- sift学习备注2
- surf学习备注2
- WPF学习备注2-blend
- 学习备注
- sift学习备注
- c++学习备注
- sift学习备注3
- c++学习备注3
- sift学习备注5
- surf学习备注1
- 外部学习资源备注
- c++ 学习备注4
- html5 学习备注 1
- 【SQL】SQL学习备注
- mysql event 学习备注
- ubuntu安装flash插件后,flash时中的汉字显示为方块 解决方案
- VC注册控件报0x80070716
- TCPMP源代码分析
- C++ODBC连接数据库
- P P-C NP NP-C 以及图灵机问题
- opencv 学习备注2
- pku1177 picture(矩阵周长并)
- Oracle入门笔记
- 基于cookie的统计访问者登陆次数
- pku1151 Atlantis(矩阵面积并)
- TCPMP播放器UI的修改方法
- C语言算法之最小耗费生成树
- 3個對泛型 List 排序的方法
- 数据绑定时Eval的使用