矩阵和图像的操作
(1)cvAnd函数
其结构
void cvAnd( //将src1和src2按像素点取“位与运算”const CvArr* src1,//第一个矩阵const CvArr* src2,//第二个矩阵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("1.jpg");src2=cvLoadImage("3.jpg");src3=cvLoadImage("4.jpg");cvAnd(src1,src2,src3);cvShowImage( "測试1", src1);cvShowImage( "測试2", src2);cvShowImage( "測试3", src3);cvWaitKey();return 0;
}
(2)cvAndS函数
其结构
void cvAndS(//使src1与value进行 位与运算const CvArr* src1,//第一个矩阵CvScalar value,//运算标量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("1.jpg");src2=cvLoadImage("5.jpg");CvScalar cs;cs.val[1] = 100.0;cs.val[2] = 100.0;cs.val[0] = 100.0;cs.val[3] = 100.0;cvAndS(src1,cs,src1);cvShowImage( "測试1", src1);cvShowImage( "測试2", src2);cvWaitKey();return 0;
}
输出结果
(3)cvAvg函数
其结构
CvScalar cvAvg(//求出src的平均像素值const CvArr* src,//目标矩阵const CvArr* mark = NULL//像素开关
);
实例代码:我对上面那个机器猫的图像使用
#include <cv.h>
#include <highgui.h>
#include <iostream>
#include <stdio.h>
using namespace std;int main(int argc, char** argv)
{IplImage *src1;src1=cvLoadImage("1.jpg");CvScalar cs;cs = cvAvg(src1);cout<<cs.val[0] << endl;cout<<cs.val[1] << endl;cout<<cs.val[2] << endl;cout<<cs.val[3] << endl;getchar();return 0;
}
输出结果
(4)cvAvgSdv函数
其结构
CvScalar cvAvg(//求像素平均值和标准差const CvArr* arr,//目标矩阵CvScalar* mean,//平均值CvScalar* std_dev,//标准差const CvArr* mark = NULL//像素开关
);
程序实例:依旧用的机器猫图片
#include <cv.h>
#include <highgui.h>
#include <iostream>
#include <stdio.h>
using namespace std;int main(int argc, char** argv)
{IplImage *src1;src1=cvLoadImage("1.jpg");CvScalar cs,cs1;cvAvgSdv(src1,&cs,&cs1);cout<<"平均值:"<<endl;cout<<cs.val[0] << endl;cout<<cs.val[1] << endl;cout<<cs.val[2] << endl;cout<<cs.val[3] << endl;cout <<endl;cout <<"标准差"<<endl;cout<<cs1.val[0] << endl;cout<<cs1.val[1] << endl;cout<<cs1.val[2] << endl;cout<<cs1.val[3] << endl;getchar();return 0;
}
输出结果
to be continued
版权声明:本文博客原创文章,博客,未经同意,不得转载。