《学习opencv》笔记——矩阵和图像操作——cvAbs,cvAbsDiff and cvAbsDiffS
2014-05-27 14:31
337 查看
矩阵和图像的操作
(1)cvAbs,cvAbsdiff,cvAbsDiffS
它们的结构为:
使用实例代码:
输出结果:
to be continued
(1)cvAbs,cvAbsdiff,cvAbsDiffS
它们的结构为:
void cvAbs( //取src中元素的绝对值,写到dst中 const CvArr* src, const dst ); void cvAbsDiff( //src1减去src2的差的绝对值存入dst const CvArr* src1, const CvArr* src2, const dst ); void cvAbsDiffs( //src中每个元素减去value存入dst中 const CvArr* src, CvScalar value, const dst _;
使用实例代码:
#include <cv.h> #include <highgui.h> #include <cxcore.h> #include <iostream> using namespace std; int main( int argc, char** argv ){ CvMat *mat; mat=cvCreateMat(4,4,CV_32FC1); float value = 0.0; int i = 0, j = 0; cout<<"初始化原始数组"<<endl; for ( i = 0; i < 4; i ++ ){ for( j = 0; j < 4; j ++ ){ value -= 1.0; CV_MAT_ELEM( *mat, float, i, j) = value; } } for ( i = 0; i < 4; i ++ ){ for( j = 0; j < 4; j ++ ){ cout<<"\t"<<CV_MAT_ELEM( *mat, float, i, j); } cout<<endl; } CvMat *matDes; matDes=cvCreateMat(4,4,CV_32FC1); cout<<"目标矩阵"<<endl; for ( i = 0; i < 4; i ++ ){ for( j = 0; j < 4; j ++ ){ cvmSet( matDes, i, j,0); cout<<"\t"<<CV_MAT_ELEM( *matDes, float, i, j); } cout<<endl; } cvAbs( mat, matDes ); cout<<"数组的绝对值"<<endl; for ( i = 0; i < 4; i ++ ){ for( j = 0; j < 4; j ++ ){ cout<<"\t"<<CV_MAT_ELEM( *matDes, float, i, j); } cout<<endl; } CvMat *matDiff1 = cvCreateMat(4,4,CV_32FC1); cvAbsDiff( mat,matDes , matDiff1); cout<<"两个差的绝对值"<<endl; for ( i = 0; i < 4; i ++ ){ for( j = 0; j < 4; j ++ ){ cout<<"\t"<<CV_MAT_ELEM( *matDiff1, float, i, j); } cout<<endl; } CvScalar cs; cs.val[0] = 2.0; cs.val[1] = 1.0; cvAbsDiffS( mat, matDiff1,cs); cout<<"矩阵减去标准值的绝对值"<<endl; for ( i = 0; i < 4; i ++ ){ for( j = 0; j < 4; j ++ ){ cout<<"\t"<<CV_MAT_ELEM( *matDiff1, float, i, j); } cout<<endl; } cvReleaseMat( &mat ); cvReleaseMat( &matDes ); getchar(); return 0; }
输出结果:
to be continued
相关文章推荐
- 《学习opencv》笔记——矩阵和图像操作——cvAbs,cvAbsDiff and cvAbsDiffS
- 《学习opencv》笔记——矩阵和图像操作——cvAbs,cvAbsDiff and cvAbsDiffS
- 《学习opencv》笔记——矩阵和图像操作——cvInRange,cvInRangeS,cvInvert and cvMahalonobis
- 《学习opencv》笔记——矩阵和图像操作——cvOr,cvOrS,cvrReduce,cvRepeat,cvScale,cvSet and cvSetZero
- 《学习opencv》笔记——矩阵和图像操作——cvMax,cvMaxS,cvMerge,cvMin and cvMinS
- [转]《学习opencv》笔记——矩阵和图像操作——cvOr,cvOrS,cvrReduce,cvRepeat,cvScale,cvSet and cvSetZero
- 《学习opencv》笔记——矩阵和图像操作——cvCrossProduct and cvCvtColor
- 《学习opencv》笔记——矩阵和图像操作——cvCalcCovarMatrix,cvCmp and cvCmpS
- 《学习opencv》笔记——矩阵和图像操作——cvGEMM,cvGetCol,cvGetCols and cvGetDiag
- 《学习opencv》笔记——矩阵和图像操作——cvSum,cvSVD,cvSVBkSb,cvTrace,cvTranspose,cvXor,cvXorS and cvZero
- 《学习opencv》笔记——矩阵和图像操作——cvMax,cvMaxS,cvMerge,cvMin and cvMinS
- 《学习opencv》笔记——矩阵和图像操作——cvSetIdentity,cvSolve,cvSplit,cvSub,cvSubS and cvSubRS
- 《学习opencv》笔记——矩阵和图像操作——cvAnd、cvAndS、cvAvg and cvAvgSdv
- 《学习opencv》笔记——矩阵和图像操作——cvGertDims,cvGetDimSize,cvGetRow,cvGetRow,cvGetSize and cvGetSubRect
- 《学习opencv》笔记——矩阵和图像操作——cvConvertScale,cvConvertScaleAbs,cvCopy and cvCountNonZero
- 《学习opencv》笔记——矩阵和图像操作——cvSetIdentity,cvSolve,cvSplit,cvSub,cvSubS and cvSubRS
- 《学习opencv》笔记——矩阵和图像操作——cvCrossProduct and cvCvtColor
- 《学习opencv》笔记——矩阵和图像操作——cvSetIdentity,cvSolve,cvSplit,cvSub,cvSubS and cvSubRS
- 《学习opencv》笔记——矩阵和图像操作——cvSum,cvSVD,cvSVBkSb,cvTrace,cvTranspose,cvXor,cvXorS and...
- 《学习opencv》笔记——矩阵和图像操作——cvMinManLoc,cvMul,cvNot,cvNorm and cvNormalize