矩阵存取操作

1.使用固定数据创建一个矩阵

	float val[]={0.86,-0.5,0.5,0.866};
	CvMat rotmat;
	cvInitMatHeader(&rotmat,2,2,CV_32FC1,val);
	cout<<cvGetElemType(&rotmat)<<" "<<cvGetDims(&rotmat)<<" "<<cvGetDimSize(&rotmat,0)<<endl;

2.使用矩阵数据的存取

	CvMat *mat=cvCreateMat(5,5,CV_32FC1);
	float element_3_2=CV_MAT_ELEM(*mat,float,3,2);
	*(float *)CV_MAT_ELEM_PTR(*mat,3,2)=7.7;  //
  合适的数据访问方式
float sum(CONST CvMat * mat)
{
	float s=0.0;
	for (int row=0;row<mat->rows;row++)
	{
		const float * ptr=(const float*)(mat->data.ptr+mat->step*row);
		for(int col=0;col<mat->cols;col++)
			s+=*ptr++;
	}
	return s;
}
3.IplImage数据结构

1)depth深度的取值情况

 IPL_DEPTH_1U     8u
 IPL_DEPTH_8U     8s
 IPL_DEPTH_16U   16s
 IPL_DEPTH_32F   32s

2)orgin设置坐标原点的位置在左上角或左下角IPL_ORIGIN_TL或IPL_ORIGIN_BL
3)使用ROI限定感兴趣区域

cvSetImageROI(frame,cvRect(0,0,100,100));
		cvAddS(frame,cvScalar(255,255,255),frame);
		cvResetImageROI(frame);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值