OpenCV-累加矩阵中的所有元素
2017-09-30 16:35
211 查看
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");
}
}
float sum(const CvMat* mat)
{
float s=0.0f;
for(int row=0;row<mat->rows;row++)
{
//ptr[p]的意思就是data里的ptr数组的第p的元素,而ptr就代表数组首指针。
const float* ptr=(const float*)(mat->data.ptr+row*mat->step);//获取第row行的行首指针
for(int col=0;col<mat->cols;col++)
{
s +=*ptr++;
}
}
return s;
}
int main()
{
float vals[]={1,2,3,4};
CvMat rotmat;
//cvInitMatHeader(CvMat矩阵指针,行数,列数,数据类型,一维矩阵指针)
cvInitMatHeader(&rotmat,2,2,CV_32FC1,vals);
PrintMat2(&rotmat,"romat");
cout<<"rotmat矩阵中所有元素的和为:"<<sum(&rotmat)<<endl;;
return 0;
}运行结果:
#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");
}
}
float sum(const CvMat* mat)
{
float s=0.0f;
for(int row=0;row<mat->rows;row++)
{
//ptr[p]的意思就是data里的ptr数组的第p的元素,而ptr就代表数组首指针。
const float* ptr=(const float*)(mat->data.ptr+row*mat->step);//获取第row行的行首指针
for(int col=0;col<mat->cols;col++)
{
s +=*ptr++;
}
}
return s;
}
int main()
{
float vals[]={1,2,3,4};
CvMat rotmat;
//cvInitMatHeader(CvMat矩阵指针,行数,列数,数据类型,一维矩阵指针)
cvInitMatHeader(&rotmat,2,2,CV_32FC1,vals);
PrintMat2(&rotmat,"romat");
cout<<"rotmat矩阵中所有元素的和为:"<<sum(&rotmat)<<endl;;
return 0;
}运行结果:
相关文章推荐
- opencv累加一个三通道矩阵的所有元素(结果绝对正确)
- OpenCV_累加一个三通道矩阵中的所有元素
- STL--迭代器的使用及在opencv中用迭代器遍历所有的元素
- 求5阶矩阵其对角线上所有元素之和
- 1.7 将一个MxN矩阵所有为0的元素所在行和列全部置0
- 有一个3*4的矩阵,求所有元素中的最大值
- 按照顺时针螺旋状打印所有矩阵元素
- 一个N*M的矩阵,找出这个矩阵中所有元素的和不小于K的面积最小的子矩阵
- OpenCV学习:Mat类详细解析+源码剖析(三)遍历矩阵中元素
- 有一个3*4的矩阵,求所有元素中的最大值
- matlab自学经验成果分享 求矩阵所有元素的和
- opencv IplImage矩阵元素赋值
- opencv矩阵元素数据类型
- torch中如何找出矩阵中元素之大于某个阈值的所有元素的下标?torch.find() ?
- opencv获取矩阵某位置元素值的几种简便方法
- ARM汇编程序---通过ARM汇编实现累加一个队列的所有元素
- opencv矩阵元素数据类型
- 多维对象的元素矩阵在内存中的分布、opencv
- 10月8日 c语言 多维数组名 作函数参数 有一个3*4的矩阵,求所有元素中的最大值
- 每天一道LeetCode-----给定一个矩阵,如果某个元素是0,就将所在行所在列上所有元素否置0