OpenCV-利用cvPtr2D存取矩阵元素和用cvGetReal2D取矩阵元素
来源:互联网 发布:易语言ce修改器源码 编辑:程序博客网 时间:2024/06/05 16:16
1:代码如下:
#include "stdafx.h"#include "highgui.h"#include "cv.h"#include "iostream"using namespace std;void PrintMat2(CvMat*target, char * name)//第一个参数为cvMat矩阵指针,第二个参数为输出的矩阵的名字{ printf("%s:\n", name); for (int i=0; i<target->rows; i++) { for (int j=0; j<target->cols;j++) { printf("%f\t", cvmGet(target, i,j)); } printf("\n"); }}int main(){ float vals[]={0.866,-0.500,0.500,0.866}; CvMat rotmat; //cvInitMatHeader(CvMat矩阵指针,行数,列数,数据类型,一维矩阵指针) cvInitMatHeader(&rotmat,2,2,CV_32FC1,vals); PrintMat2(&rotmat,"romat"); //cvPtr2D返回的类型默认为uchar*型,需要做相应的强制转化。cvPtr2D既能读矩阵元素又能取矩阵元素。 //uchar* cvPtr2D(const CvArr* arr,int idx0,int idx1,int* type=NULL),最后一个参数可以不用管,因为其默认为NULL。 float* p=(float*)cvPtr2D(&rotmat,1,1); cout<<"*p的值为:"<<*p<<endl; //p已经指向了矩阵中的该元素,既可以用p设置该元素的数,又可以用p取该元素的数 *p=3; p--; *p=4; PrintMat2(&rotmat,"romat"); //double cvGetReal2D(const CvArr* arr,int idx0,int idx1) double s=cvGetReal2D(&rotmat,1,1); cout<<"s的值为:"<<s<<endl; return 0;}运行结果:
阅读全文
0 0
- OpenCV-利用cvPtr2D存取矩阵元素和用cvGetReal2D取矩阵元素
- opencv矩阵元素类型
- opencv矩阵元素类型
- opencv矩阵元素类型
- opencv矩阵元素数据类型
- cvmat多通道矩阵的元素存取
- opencv IplImage矩阵元素赋值
- opencv Mat元素访问和Mat矩阵初始化
- opencv矩阵元素类型转换和cvConvertScale()函数用法
- opencv 矩阵的存取
- 矩阵下三角元素和
- opencv 访问矩阵元素的方法--转帖
- OpenCV Mat类矩阵元素访问
- Opencv中获取矩阵的元素值
- 确定 OpenCV 矩阵元素的数据类型
- OpenCv矩阵元素的访问技巧
- OpenCv矩阵元素的访问技巧
- opencv 矩阵元素排序(代码)
- 矩阵对角之间的走法常见问题之动态规划
- MINI2440裸机实验之LCD
- JavaWeb监控框架-JavaMelody
- 内容提供者——添加内容观察者
- Coursra-MachineLearning 第二次作业总结
- OpenCV-利用cvPtr2D存取矩阵元素和用cvGetReal2D取矩阵元素
- format函数
- [LeetCode]295. Find Median from Data Stream
- <input>标签用val()取不到值
- c用信号量(Semaphore)实现消费者生产者同步
- tar包方式安装Mysql
- servlet之el表达式
- 网上商城项目总结 续
- adb push adb pull adb shell实验记录