矩阵和图像的操作

(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的更多相关文章

  1. 《学习opencv》笔记——矩阵和图像操作——cvCalcCovarMatrix,cvCmp and cvCmpS

    矩阵和图像的操作 (1)cvCalcCovarMatrix函数 其结构 void cvCalcCovarMatrix(计算给定点的均值和协方差矩阵 const CvArr** vects,//给定向量 ...

  2. 《学习opencv》笔记——矩阵和图像操作——cvSetIdentity,cvSolve,cvSplit,cvSub,cvSubS and cvSubRS

    矩阵和图像的操作 (1)cvSetIdentity函数 其结构 void cvSetIdentity(//将矩阵行与列相等的元素置为1.其余元素置为0 CvArr* arr//目标矩阵 ); 实例代码 ...

  3. 《学习opencv》笔记——矩阵和图像操作——cvAnd、cvAndS、cvAvg and cvAvgSdv

    矩阵和图像的操作 (1)cvAnd函数 其结构 void cvAnd( //将src1和src2按像素点取"位与运算" const CvArr* src1,//第一个矩阵 cons ...

  4. 《学习opencv》笔记——矩阵和图像操作——cvInRange,cvInRangeS,cvInvert and cvMahalonobis

    矩阵和图像的操作 (1)cvInRange函数 其结构 void cvInRange(//提取图像中在阈值中间的部分 const CvArr* src,//目标图像 const CvArr* lowe ...

  5. 《学习opencv》笔记——矩阵和图像操作——cvCrossProduct and cvCvtColor

    矩阵和图像的操作 (1)cvCrossProduct函数 其结构 void cvCrossProdust(//计算两个三维向量的叉积 const CvArr* src1, const CvArr* s ...

  6. 《学习opencv》笔记——矩阵和图像操作——cvConvertScale,cvConvertScaleAbs,cvCopy and cvCountNonZero

    矩阵和图像的操作 (1)cvConvertScale函数 其结构: void cvConvertScale( //进行线性变换,将src乘scale加上shift保存到dst const CvArr* ...

  7. opencv笔记2:图像ROI

    time:2015年 10月 03日 星期六 12:03:45 CST # opencv笔记2:图像ROI ROI ROI意思是Region Of Interests,感兴趣区域,是一个图中的一个子区 ...

  8. OpenCV —— 矩阵和图像操作

    cvAbs , cvAbsDiff , cvAbsDiffS cvAdd , cvAddS , cvAddWeighted(可添加权重) #include <cv.h> #include ...

  9. OpenCV利用矩阵实现图像旋转

    利用OpenCV的矩阵操作实现图像的逆时针旋转90度操作 代码 Mat src = imread("C:\\Users\\fenggl\\Desktop\\测试.jpg",MREA ...

随机推荐

  1. MySQL学习笔记:regexp正则表达式

    在MySQL中,模糊搜索的时候主要用两种方式: 1.like2.regexp + 正则表达式 性能优于like 正则表达式描述了一组字符串. 最简单的正则表达式是不含任何特殊字符的正则表达式.例如,正 ...

  2. Effective STL 学习笔记 Item 34: 了解哪些算法希望输入有序数据

    Effective STL 学习笔记 Item 34: 了解哪些算法希望输入有序数据 */--> div.org-src-container { font-size: 85%; font-fam ...

  3. apachebench对网站进行并发测试

    ,安装apache ,打开cmd进入apache安装目录的bin目录(有ab.exe) ,执行ab命令 格式:ab -n -c http://localhost:80/test/test.php 说明 ...

  4. CVE-2010-0249 极光

    传说中的极光漏洞 Microsoft Internet Explorer非法事件操作内存破坏漏洞 Microsoft Internet Explorer是微软Windows操作系统中默认捆绑的WEB浏 ...

  5. .net程序员写业务代码需要注意的地方

    代码规范要求1.命名空间规范:dao层的impl实现和接口采用一样的命名空间,到对应文件夹层:IxxDaoContext与其实现类采用顶级命名空间. 2.TableEntity文件夹:所有的实体放到各 ...

  6. ***codeigniter操作xml(Simplexml第三方扩展)

    This Simplexml class provides an alternative implementation of the SimpleXML API that works under PH ...

  7. jsonrpc.js -- 原生js实现 JSON-RPC 协议

    很早以前就涉及到多端远程调用 api的设计,那时候自己设计了个消息传递回调过程.最近了解了JSON-RPC协议,更正规,就可以自己实现下.逻辑也不复杂,没有限制底层消息传递的方式,可以应用到更多的场景 ...

  8. GUC-7 同步锁 Lock

    import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /* * 一.用于解决 ...

  9. Java第三阶段学习(二、IO流--------递归,字节流Stream)

    一.递归 定义:指方法在方法内调用自己 适用于方法的运算主体不变,但运行的时候,参与运算的方法参数会变化注意:一定要给递归一个出口,否则内存溢出 练习题1:使用递归打印文件夹中所有的文件,包含子目录中 ...

  10. Hive(八)Hive的Shell操作与压缩存储

    一.Hive的命令行 1.Hive支持的一些命令 Command Description quit Use quit or exit to leave the interactive shell. s ...