矩阵和图像操作

(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

版权声明:本文博客原创文章。博客,未经同意,不得转载。

《学习opencv》笔记——矩阵和图像处理——cvMax,cvMaxS,cvMerge,cvMin and cvMinS的更多相关文章

  1. 《学习opencv》笔记——矩阵和图像处理——cvMinManLoc,cvMul,cvNot,cvNorm and cvNormalize

    矩阵和图像的操作 (1)cvMinManLoc函数 其结构 void cvMinMaxLoc(//取出矩阵中最大最小值 const CvArr* arr,//目标矩阵 double* min_val, ...

  2. 《学习opencv》笔记——矩阵和图像处理——cvGEMM,cvGetCol,cvGetCols and cvGetDiag

    矩阵和图像操作 (1)cvGEMM函数 其结构 double cvGEMM(//矩阵的广义乘法运算 const CvArr* src1,//乘数矩阵 const CvArr* src2,//乘数矩阵 ...

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

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

  4. 《学习opencv》笔记——基本数据结构,CvMat,矩阵訪问

        老板让让做一个东东.输入端要用到opencv顺便就来学习一下.买了本书<学习opencv>翻来一看,opencv1.0,去官网上一看.opencv2.49,瞬间有种蛋碎的赶脚.看着 ...

  5. 基于OpenCv的人脸检测、识别系统学习制作笔记之一

    基于OpenCv从视频文件到摄像头的人脸检测 在OpenCv中读取视频文件和读取摄像头的的视频流然后在放在一个窗口中显示结果其实是类似的一个实现过程. 先创建一个指向CvCapture结构的指针 Cv ...

  6. opencv笔记4:模板运算和常见滤波操作

    time:2015年10月04日 星期日 00时00分27秒 # opencv笔记4:模板运算和常见滤波操作 这一篇主要是学习模板运算,了解各种模板运算的运算过程和分类,理论方面主要参考<图像工 ...

  7. opencv笔记6:角点检测

    time:2015年10月09日 星期五 23时11分58秒 # opencv笔记6:角点检测 update:从角点检测,学习图像的特征,这是后续图像跟踪.图像匹配的基础. 角点检测是什么鬼?前面一篇 ...

  8. opencv笔记5:频域和空域的一点理解

    time:2015年10月06日 星期二 12时14分51秒 # opencv笔记5:频域和空域的一点理解 空间域和频率域 傅立叶变换是f(t)乘以正弦项的展开,正弦项的频率由u(其实是miu)的值决 ...

  9. 学习opencv中文版教程——第二章

    学习opencv中文版教程——第二章 所有案例,跑起来~~~然而并没有都跑起来...我只把我能跑的都尽量跑了,毕竟看书还是很生硬,能运行能出结果,才比较好. 越着急,心越慌,越是着急,越要慢,越是陌生 ...

随机推荐

  1. Hdu 3410 【单调队列】.cpp

    题意: 给出一个数组,问你对于第i个数,从最后一个比它大的数到它之间比它小的数中最大的那个数的下标,以及它右边到第一个比它大的数中比它小的数中最大的那一个数的下标<下标从1开始>. eg: ...

  2. Cocos2d-x3.0下一个 Lua与C++打电话给对方

    这里谈下Lua与C++如何实现相互通话 原来的连接:http://blog.csdn.net/qqmcy/article/details/26052771 DJLCData.h 实现类 // // D ...

  3. 使用psftp.exe

    使用psftp.exe 点击打开psftp.exe,出现如下图的命令窗口.  

  4. POJ 36666 Making the Grade 简单DP

    题意是: 给出n个数,让你用最小的花费将其改成非递增或非递减的 然后花费就是新序列与原序列各个位置的数的差的绝对值的和 然后可以看到有2000个数,数的范围是10亿 仔细观察可以想象到.其实改变序列中 ...

  5. Android Ant 和 Gradle 打包流程和效率对照

    一.Ant 打包:(下载ant.配置环境变量就不说了) 1.进入命令行模式,并切换到项目文件夹.运行例如以下命令为ADT创建的项目加入ant build支持: android update proje ...

  6. 小米2S TWRP 3.0.2-0 最新版Recovery

    主界面 使用了我最新修改的内核 下载地址: 链接: http://pan.baidu.com/s/1i5xwddb 密码: 7dyb 验证信息: md5sum: dca410f33020eb87986 ...

  7. setInterval定时和ajax请求

    fnSetMarkPoint = function (param) { $.ajax({ success: function (returnValue) { window.setInterval(&q ...

  8. Mahout推荐算法ItemBased

    Mahout推荐的ItemBased 一.   算法原理 (一)    基本的 下面的例子,参见图评分矩阵:表现user,归类为item. 图(1) 该算法的原理: 1.  计算Item之间的相似度. ...

  9. ajax方式提交带文件上传的表单,上传后不跳转

    ajax方式提交带文件上传的表单 一般的表单都是通过ajax方式提交,所以碰到带文件上传的表单就比较麻烦.基本原理就是在页面增加一个隐藏iframe,然后通过ajax提交除文件之外的表单数据,在表单数 ...

  10. Android 开发环境搭建之——ADT-Bundle for Windows

    ADT-Bundle for Windows 是由Google Android官方提供的集成式IDE,已经包含了Eclipse,你无需再去下载Eclipse,并且里面已集成了插件,它解决了大部分新手通 ...