没有合适的资源?快使用搜索试试~ 我知道了~
opencv中矩阵总结
4星 · 超过85%的资源 需积分: 17 18 下载量 39 浏览量
2012-01-10
20:00:29
上传
评论 1
收藏 126KB PDF 举报
温馨提示
试读
2页
自己搜集了一些opencv关于矩阵用法的一些总结,希望对大家有用,我们一起进步。
资源推荐
资源详情
资源评论
opencv 矩阵总结
OpenCV 矩阵操作 CvMat
转自:http://hi.baidu.com/xiaoduo170/blog/item/10fe5e3f0fd252e455e72380.html
每回用矩阵都要查,这回查到一个比较正确齐全的,放在自己的博客上以后可查
综述:
OpenCV 有针对矩阵操作的 C 语言函数. 许多其他方法提供了更加方便的 C++接口,其效
率与 OpenCV 一样.
OpenCV 将向量作为 1 维矩阵处理.
矩阵按行存储,每行有 4 字节的校整.
分配矩阵空间:
CvMat* cvCreateMat(int rows, int cols, int type);
type: 矩阵元素类型. 格式为 CV_<bit_depth>(S|U|F)C<number_of_channels>. 例
如: CV_8UC1 表示 8 位无符号单通道矩阵, CV_32SC2 表示 32 位有符号双通道矩阵.
例程: CvMat* M = cvCreateMat(4,4,CV_32FC1);
释放矩阵空间:
CvMat* M = cvCreateMat(4,4,CV_32FC1); cvReleaseMat(&M);
复制矩阵:
CvMat* M1 = cvCreateMat(4,4,CV_32FC1);
CvMat* M2;
M2=cvCloneMat(M1);
初始化矩阵:
double a[] = { 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12 };
CvMat Ma=cvMat(3, 4, CV_64FC1, a);
另一种方法:
CvMat Ma; cvInitMatHeader(&Ma, 3, 4, CV_64FC1, a);
初始化矩阵为单位阵:
CvMat* M = cvCreateMat(4,4,CV_32FC1); cvSetIdentity(M); // 这里似乎有问题,
不成功
存取矩阵元素
假设需要存取一个 2 维浮点矩阵的第(i,j)个元素.
间接存取矩阵元素:
cvmSet(M,i,j,2.0); // Set M(i,j) t = cvmGet(M,i,j); // Get M(i,j)
直接存取,假设使用 4-字节校正:
CvMat* M = cvCreateMat(4,4,CV_32FC1); int n = M->cols;
float *data = M->data.fl; data[i*n+j] = 3.0;
直接存取,校正字节任意:
CvMat* M = cvCreateMat(4,4,CV_32FC1);
int step = M->step/sizeof(float);
float *data = M->data.fl;
资源评论
- Hugh_Mushan2013-07-12谢谢分享,挺有用的
shenghui2012
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 物模块模型代码,前往设计物模块所属
- Java面试手册,助力大家面试过五关斩六将,面试成功
- HITK0303MP-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- mybatis动态sql之xml增删改查批量操作示例EmpMapper.xml
- C/C++内存检测工具Sanitizers
- HITK0302MP-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 宝塔批量建站工具,很优秀的宝塔管理工具,基于宝塔api
- HITK0204MP-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- azeryhgtfxhj
- 操作系统实验页面置换算法
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功