矩阵和图像操作

(1)cvMax函数

其结构

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

实例代码

  1. #include <cv.h>
  2. #include <highgui.h>
  3. #include <stdio.h>
  4.  
  5. int main(int argc, char** argv)
  6. {
  7. IplImage *src1, *src2,*src3;
  8. src1 = cvLoadImage("7.jpg");
  9. src2 = cvLoadImage("1.jpg");
  10. src3 = cvLoadImage("3.jpg");
  11.  
  12. cvMax(src2,src3,src1);
  13.  
  14. cvShowImage( "測试1", src1);
  15. cvShowImage( "測试2", src2);
  16. cvShowImage( "測试3", src3);
  17. cvWaitKey();
  18. return 0;
  19. }





(2)cvMaxS函数

其结构

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

实例代码

  1. #include <cv.h>
  2. #include <highgui.h>
  3. #include <stdio.h>
  4.  
  5. int main(int argc, char** argv)
  6. {
  7. IplImage *src1, *src2,*src3;
  8. src1 = cvLoadImage("7.jpg");
  9. src2 = cvLoadImage("1.jpg");
  10.  
  11. cvMaxS(src2,200,src1);
  12.  
  13. cvShowImage( "測试1", src1);
  14. cvShowImage( "測试2", src2);
  15. cvWaitKey();
  16. return 0;
  17. }

输出结果

(3)cvMerge函数

其结构

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

实例代码

  1. #include <cv.h>
  2. #include <highgui.h>
  3. #include <stdio.h>
  4.  
  5. int main(int argc, char** argv)
  6. {
  7. IplImage *src1,*src2,*dst11,*dst12,*dst13;
  8.  
  9. src1=cvLoadImage("5.jpg");
  10. src2=cvLoadImage("7.jpg");
  11.  
  12. dst11 = cvCreateImage(cvSize(src1->width, src1->height), IPL_DEPTH_8U, 1);
  13. dst12 = cvCreateImage(cvSize(src1->width, src1->height), IPL_DEPTH_8U, 1);
  14. dst13 = cvCreateImage(cvSize(src1->width, src1->height), IPL_DEPTH_8U, 1);
  15.  
  16. cvSplit(src1, dst11, dst12, dst13, 0);//分解
  17.  
  18. cvMerge(dst11,dst12,dst13,NULL,src2);
  19.  
  20. cvShowImage( "測试", src2);
  21.  
  22. cvWaitKey();
  23. return 0;
  24. }

输出结果

(4)cvMin函数

其结构

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

实例代码

  1. #include <cv.h>
  2. #include <highgui.h>
  3. #include <stdio.h>
  4.  
  5. int main(int argc, char** argv)
  6. {
  7. IplImage *src1, *src2,*src3;
  8. src1 = cvLoadImage("7.jpg");
  9. src2 = cvLoadImage("1.jpg");
  10. src3 = cvLoadImage("3.jpg");
  11.  
  12. cvMin(src2,src3,src1);
  13.  
  14. cvShowImage( "測试1", src1);
  15. cvShowImage( "測试2", src2);
  16. cvShowImage( "測试3", src3);
  17. cvWaitKey();
  18. return 0;
  19. }

输出结果

(5)cvMinS函数

其结构

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

实例代码

  1. #include <cv.h>
  2. #include <highgui.h>
  3. #include <stdio.h>
  4.  
  5. int main(int argc, char** argv)
  6. {
  7. IplImage *src1, *src2,*src3;
  8. src1 = cvLoadImage("7.jpg");
  9. src2 = cvLoadImage("1.jpg");
  10.  
  11. cvMinS(src2,200,src1);
  12.  
  13. cvShowImage( "測试1", src1);
  14. cvShowImage( "測试2", src2);
  15. cvWaitKey();
  16. return 0;
  17. }

输出结果

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. MVAPI第一个版本架构图

    MVAPI采用矢量与栅格结合的方式进行移动地图的显示. 进过几个月,目前终于可以完成基本的地图显示及操作功能.还有待实现的是各种性能及效果优化.3D地物等. 发一个1.0的架构图留存一下.(虽然目前还 ...

  2. Java程序猿笔试面试之String1

    1.怎样实现字符串的反转比如:"how are you"--->"you are how" public class InverseString { pu ...

  3. 利用SVNKit进行版本库的树的导出

    public List searchByTree(String userName,String passwd,String SVNServerUrl,String dirUrl){ //这里有点像 s ...

  4. SVN的命令解析(感觉不错就转了)

    本文链接: http://www.php-oa.com/2008/03/12/svnminglingzailinuxxiadeshiyong.html .将文件checkout到本地目录 svn ch ...

  5. 大约 Apple Metal API 一些想法

    看后 Metal 的开发文档后,除了官方所宣称的一些长处外(比方说更easy理解和使用的 API.更直接和精细的硬件控制,降低 GPU 使用过程中的 CPU 额外开销等等),从我有限的 GLES 开发 ...

  6. 【Android Training - UserInfo】记住登入用户的信息[Lesson 1 - 使用AccountManager来记住用户]

    Remembering Your User[记住你的用户] 每一个人都非常喜欢自己的名字能被人记住.当中最简单,最有效的使得你的app让人喜欢的方法是记住你的用户是谁,特别是当用户升级到一台新的设备或 ...

  7. uva103(最长递增序列,dag上的最长路)

    题目的意思是给定k个盒子,每个盒子的维度有n dimension 问最多有多少个盒子能够依次嵌套 但是这个嵌套的规则有点特殊,两个盒子,D = (d1,d2,...dn) ,E = (e1,e2... ...

  8. Socket的错误码和描述(中英文翻译)

    Socket的错误码和描述(中英文翻译) //下面是Socket Error的错误码和描述: Socket error 0 - Directly send error  Socket error 10 ...

  9. 使用 Cordova+Visual Studio 创建跨平台移动应用(3)

    1 背景 本章节是关于Telerik AppBuilder for Visual Studio的. 目前(2014.12)为Telerik公司Telerik Platform的一部分,Telerik ...

  10. Ejb in action(两)——示例入门

    在前面的文章中,,我们推出Ejb相关概念.在此之前展开的阐述,我给大家Ejb示例.加深印象. 开发环境:eclipse 应用server:jboss 1.服务端程序 在Eclipse中创建一个Ejb项 ...