首页 > 代码库 > 《学习opencv》笔记——矩阵和图像操作——cvMax,cvMaxS,cvMerge,cvMin and cvMinS

《学习opencv》笔记——矩阵和图像操作——cvMax,cvMaxS,cvMerge,cvMin and cvMinS


矩阵和图像的操作


(1)cvMax函数

其结构


void cvMax(//比较两个图像取最大值
	const CvArr* src1,//图像1
	const CvArr* src2,//图像2
	CvArr* dst//结果矩阵
);


实例代码


#include <cv.h>
#include <highgui.h>
#include <stdio.h>

int main(int argc, char** argv)
{
	IplImage *src1, *src2,*src3;
	src1 = cvLoadImage("7.jpg");
	src2 = cvLoadImage("1.jpg");
	src3 = cvLoadImage("3.jpg");

	cvMax(src2,src3,src1);

	cvShowImage( "测试1", src1);
	cvShowImage( "测试2", src2);
	cvShowImage( "测试3", src3);
    cvWaitKey();
	return 0;
}




(2)cvMaxS函数

其结构

void cvMaxS(//比较图像与给定值取最大值
	const CvArr* src1,//图像1
	double value,//给定值
	CvArr* dst//结果矩阵
);

实例代码


#include <cv.h>
#include <highgui.h>
#include <stdio.h>

int main(int argc, char** argv)
{
	IplImage *src1, *src2,*src3;
	src1 = cvLoadImage("7.jpg");
	src2 = cvLoadImage("1.jpg");

	cvMaxS(src2,200,src1);

	cvShowImage( "测试1", src1);
	cvShowImage( "测试2", src2);
    cvWaitKey();
	return 0;
}

输出结果




(3)cvMerge函数

其结构


void cvMerge(//cvSplit()的逆运算
	const CvArr* src0,//图1
	const CvArr* src1,//图2
	const CvArr* src2,//图3
	const CvArr* src3,//图4
	CvArr* dst//结果图
);

实例代码


#include <cv.h>
#include <highgui.h>
#include <stdio.h>

int main(int argc, char** argv)
{
	IplImage *src1,*src2,*dst11,*dst12,*dst13;

	src1=cvLoadImage("5.jpg");
	src2=cvLoadImage("7.jpg");

	dst11 = cvCreateImage(cvSize(src1->width, src1->height), IPL_DEPTH_8U, 1);
	dst12 = cvCreateImage(cvSize(src1->width, src1->height), IPL_DEPTH_8U, 1);
	dst13 = cvCreateImage(cvSize(src1->width, src1->height), IPL_DEPTH_8U, 1);

	cvSplit(src1, dst11, dst12, dst13, 0);//分解

	cvMerge(dst11,dst12,dst13,NULL,src2);

	cvShowImage( "测试", src2);


	cvWaitKey();
	return 0;
}

输出结果




(4)cvMin函数

其结构


void cvMin(//比较两个图像取最小值
	const CvArr* src1,//图像1
	const CvArr* src2,//图像2
	CvArr* dst//结果图像
);

实例代码


#include <cv.h>
#include <highgui.h>
#include <stdio.h>

int main(int argc, char** argv)
{
	IplImage *src1, *src2,*src3;
	src1 = cvLoadImage("7.jpg");
	src2 = cvLoadImage("1.jpg");
	src3 = cvLoadImage("3.jpg");

	cvMin(src2,src3,src1);

	cvShowImage( "测试1", src1);
	cvShowImage( "测试2", src2);
	cvShowImage( "测试3", src3);
	cvWaitKey();
	return 0;
}

输出结果




(5)cvMinS函数

其结构


void cvMinS(//比较图像取与给定标量最小值
	const CvArr* src1,//图像1
	double value,//比较标量
	CvArr* dst//结果图像
);

实例代码


#include <cv.h>
#include <highgui.h>
#include <stdio.h>

int main(int argc, char** argv)
{
	IplImage *src1, *src2,*src3;
	src1 = cvLoadImage("7.jpg");
	src2 = cvLoadImage("1.jpg");

	cvMinS(src2,200,src1);

	cvShowImage( "测试1", src1);
	cvShowImage( "测试2", src2);
	cvWaitKey();
	return 0;
}

输出结果




to be continued