矩阵和图像的操作

(1)cvConvertScale函数

其结构:

void cvConvertScale( //进行线性变换,将src乘scale加上shift保存到dst
const CvArr* src,//原矩阵
CvArr* dst,//结果矩阵
double scale = 1.0,//因子
double shift = 0.0//加权
);

实例程序

#include <cv.h>
#include <highgui.h>
#include <stdio.h> int main(int argc, char** argv)
{
IplImage *src2,*src3;
src2=cvLoadImage("3.jpg");
src3=cvLoadImage("7.jpg"); cvConvertScale(src2,src3,4.0,-220.0);
cvShowImage( "測试2", src2);
cvShowImage( "測试3", src3);
getchar();
return 0;
}

输出结果

(2)cvConvertScaleAbs函数

其结构

void cvConvertScaleAbs( //进行线性变换,将src乘scale加上shift取绝对值保存到dst
const CvArr* src,//原矩阵
CvArr* dst,//结果矩阵
double scale = 1.0,//因子
double shift = 0.0//加权
);

实例代码

#include <cv.h>
#include <highgui.h>
#include <stdio.h> int main(int argc, char** argv)
{
IplImage *src2,*src3;
src2=cvLoadImage("3.jpg");
src3=cvLoadImage("7.jpg"); cvConvertScaleAbs(src2,src3,4.0,-220.5); cvShowImage( "測试2", src2);
cvShowImage( "測试3", src3);
cvWaitKey();
return 0;
}

输出结果

(3)cvCopy函数

其结构

void cvCopy( //复制像素点
const CvArr* src,//目标矩阵
CvArr* dst,//结果矩阵
const CvArr* mask = NULL//去点开关
);

实例代码

#include <cv.h>
#include <highgui.h>
#include <stdio.h> int main(int argc, char** argv)
{
IplImage *src1, *src2,*src3;
src1=cvLoadImage("5.jpg");
src2=cvLoadImage("3.jpg");
src3=cvLoadImage("7.jpg"); cvCopy(src1,src3,src2);
cvShowImage( "測试1", src1);
cvShowImage( "測试2", src2);
cvShowImage( "測试3", src3);
cvWaitKey();
return 0;
}

输出结果

(4)cvCountNonZero函数

其结构

int cvCountNonZero(//输出非零点的个数,其矩阵须为单通道图像
const CvArr* arr//目标矩阵
);

实例代码

#include <cv.h>
#include <highgui.h>
#include <iostream>
using namespace std; int main(int argc, char** argv)
{
IplImage *src1,*dst1,*dst2,*dst3;
src1=cvLoadImage("5.jpg",1);
dst1 = cvCreateImage(cvSize(src1->width, src1->height), IPL_DEPTH_8U, 1);
dst2 = cvCreateImage(cvSize(src1->width, src1->height), IPL_DEPTH_8U, 1);
dst3 = cvCreateImage(cvSize(src1->width, src1->height), IPL_DEPTH_8U, 1);
cvSplit(src1, dst1, dst2, dst3, 0); int count = cvCountNonZero(dst3);
cout << "440*660 = " << 440*660 << "图像的非零点的个数为:"<<endl;
cout << count << "个" <<endl;
getchar();
return 0;
}

输出结果

to be continued

《学习opencv》笔记——矩阵和图像操作——cvConvertScale,cvConvertScaleAbs,cvCopy and cvCountNonZero的更多相关文章

  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》笔记——矩阵和图像操作——cvAbs,cvAbsDiff and cvAbsDiffS

    矩阵和图像的操作 (1)cvAbs,cvAbsdiff,cvAbsDiffS 它们的结构为: void cvAbs( //取src中元素的绝对值,写到dst中 const CvArr* src, co ...

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

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

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

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

  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. socket编程-微软小兵

    socket两端建立连接,不断开的连接的情况下做数据交互,客户端发送数据和服务端返回数据.直到客户端要求断开,则关闭连接. 代码目录结构:

  2. hdu 6118 度度熊的交易计划

    度度熊的交易计划 Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  3. noip 2010 关押罪犯 二分答案+二分图染色 || 并查集

    题目链接 题目描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用"怨气值&q ...

  4. CI安全

    URI安全,CodeIgniter 严格限制 URI 中所能包含的字符,以此帮助你设计的程序减少被恶意数据入侵的可能.URI 一般只包含下列内容: 字母和数字(Alpha-numeric text) ...

  5. Linux 之 CentOS练习

    CentOS练习 参考教程:[千峰教育] 一.安装配置CentOS 1.安装虚拟机:VirtualBox. (1)软件下载:https://www.virtualbox.org/. (2)一路点击下一 ...

  6. react-highcharts

    import ReactHighcharts from'react-highcharts'; class SummaryLeft extends Component { render () {var ...

  7. WCF的学习之旅

    一.WCF的简单介绍  Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是MS为SOA (S ...

  8. html移动端 -- meta-模板 + rem

    第一种方式: ps 不用除以2<header> <meta charset="utf-8"> <meta name="viewport&qu ...

  9. [笔记][Web]利用JS生成博文目录及CSS定制博客

    0. 简介 进入到cnblog这个大园子以后,和其他的一些博客网站比起来,少了些小功能,比如旁边CSDN上的目录.不过好在大神辈出,博客园可以通过申请JS权限来进行目录的生成. 由于本人在JS以及CS ...

  10. BZOJ——1622: [Usaco2008 Open]Word Power 名字的能量

    http://www.lydsy.com/JudgeOnline/problem.php?id=1622 Description     约翰想要计算他那N(1≤N≤1000)只奶牛的名字的能量.每只 ...