矩阵和图像的操作

(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. SCTF 2014 PWN400 分析

    之前没有分析PWN400,现在再开一篇文章分析一下. 这个日志是我做题的一个笔记,就是说我做一步题就记录一下是实时的.所以说可能会有错误之类的. 首先程序是经典的笔记本程序,基本上一看到这种笔记本就知 ...

  2. Cocos2d-x for Windows Phone 用法总结

    鉴于诺基亚(微软移动这个没人用的手机)开发者比较少,cocos2dx移植方面更是少的问题,总结一下WP8移植方面的资料,希望对大家有用,自己也当作笔记留念. 1.WP8方面有两种方式创建项目,Hell ...

  3. Android开发——子线程操作UI的几种方法(待续)

    方法2  Handler andler mHandler = new Handler() { @Override public void handleMessage(Message msg) { su ...

  4. WangSql 3.0源码共享(WangSql 1.0重大升级到3.0)

    WangSql 1.0博文阅读: http://www.cnblogs.com/deeround/p/6204610.html 基于1.0做了以下重大改动: 1.多数据实现方式调整 2.使用EmitM ...

  5. 【Java】返回长度为零的数组或者集合,而不是null

    今天在牛客网上做一个编程题时,在提交代码后老是抛出NullPointerException异常,大概的代码如下: public ArrayList<Integer> foo(TreeNod ...

  6. matplotlib使用总结

    一.简介 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形.通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图 ...

  7. 全面兼容的Iframe 与父页面交互操作

     父页面 Father.htm 源码如下:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...

  8. C#使用Pechkin与CPechkin生成PDF

    http://blog.sina.com.cn/s/blog_5a52cec70102wpcf.html 1. Pechkin     从NuGet程序管理器中获得Pechkin,代码示例如下:   ...

  9. JAVAEE——SSH项目实战05:用户注册、登陆校验拦截器、员工拜访客户功能和MD5加密

    作者: kent鹏 转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7170519.html 一.用户注册   显示错误信息到页面上的另一种方法: public ...

  10. Bipartite Graph hdu 5313 bitset 并查集 二分图

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5313 题意: 给出n个顶点,m条边,问最多添加多少条边使之构成一个完全二分图 存储结构: bitset   ...