学习opencv-------函数使用一

 1 #include"head.h"
 2 //cvResize()
 3 /*int main()
 4 {
 5     IplImage *img = cvLoadImage("e:/picture/Wife4.jpg");
 6
 7     IplImage *big_img = cvCreateImage(cvSize(500, 600), img->depth,img->nChannels);
 8     cvResize(img, big_img);
 9     cvNamedWindow("big");
10     cvNamedWindow("img");
11     cvShowImage("img",img);
12     cvShowImage("big", big_img);
13     cvWaitKey(0);
14     cvReleaseImage(&img);
15     cvReleaseImage(&big_img);
16     cvDestroyWindow("big");
17     return 0;
18 }
19
20 */
21 //cvCvtColor()
22 //cvRectangle()
23 //cvPutText()
24 /*int main()
25 {
26     IplImage *img = cvLoadImage("e:/picture/Wife1.jpg");
27     IplImage *big_img = cvCreateImage(cvSize(400, 500), img->depth, img->nChannels);//set to 1 channel
28     IplImage *gray_big_img = cvCreateImage(cvSize(400, 500), img->depth, 3);
29     cvResize(img, big_img);
30     cvCvtColor(big_img,gray_big_img,CV_RGB2BGR);//change into single channel image
31     //cvRectangle(gray_big_img,cvPoint(130,50),cvPoint(330,280),cvScalarAll(190),5,5);//draw a retangle
32     CvFont font = cvFont(3.5,5);
33     CvFont font2 = cvFont(2.0,3);//define font style
34     cvPutText(gray_big_img,"Dear",cvPoint(150,400),&font,cvScalar(0));
35     cvPutText(gray_big_img,"WangXinYu",cvPoint(120,450),&font2,cvScalar(150,200,50));//input english letters into the picture
36     cvSetImageROI(gray_big_img,cvRect(130,50,200,230));
37     cvAddS(gray_big_img,cvScalar(255,0255,0),gray_big_img);
38     cvResetImageROI(gray_big_img);//set interest rigion
39     //cvFlip(gray_big_img,gray_big_img,1);//image will circle around the x or y
40     cvDiv(gray_big_img,big_img,big_img);
41     cvNamedWindow("Grayimg");
42     cvNamedWindow("Bigimg");
43     cvShowImage("Bigimg",big_img);
44     cvShowImage("Grayimg",gray_big_img);
45     cvWaitKey(0);
46     cvReleaseImage(&big_img);
47     cvReleaseImage(&gray_big_img);
48     cvDestroyAllWindows();
49
50     return 0;
51
52 }*/
53 //cvSplit and cvMerge
54 int main()
55 {
56     IplImage *getimg = cvLoadImage("e:/picture/4.jpg");
57     int depth = getimg->depth;
58     IplImage *img = cvCreateImage(cvSize(400,500),depth,getimg->nChannels);
59     cvResize(getimg,img);
60     CvSize size = cvGetSize(img);
61     IplImage *way1 = cvCreateImage(size,depth,1);
62     IplImage *way2 = cvCreateImage(size, depth, 1);
63     IplImage *way3 = cvCreateImage(size, depth, 1);
64     IplImage *merge = cvCreateImage(size,depth,3);
65     cvSplit(img,way1,way2,way3,NULL);
66     cvMerge(way1, way2, way3, NULL, merge);
67     cvNamedWindow("img");
68     cvNamedWindow("way1");
69     cvNamedWindow("way2");
70     cvNamedWindow("way3");
71     cvNamedWindow("merge");
72     cvShowImage("img",img);
73     cvShowImage("way1",way1);
74     cvShowImage("way2", way2);
75     cvShowImage("way3", way3);
76     cvShowImage("merge",merge);
77     cvWaitKey(0);
78     cvReleaseImage(&img);
79     cvReleaseImage(&way1);
80     cvReleaseImage(&way2);
81     cvReleaseImage(&way3);
82     cvReleaseImage(&merge);
83     cvDestroyAllWindows();
84     return 0;
85
86 }
时间: 2024-10-22 15:57:12

学习opencv-------函数使用一的相关文章

《学习opencv》笔记——关于一些绘图的函数

绘图函数 (1)直线cvLine函数 其结构 void cvLine(//画直线 CvArr* array,//画布图像 CvPoint pt1,//起始点 CvPoint pt2,//终点 CvScalar color,//颜色 int thickness = 1,//宽度 int connectivity = 8//反走样 ); 实例代码 #include <cv.h> #include <highgui.h> #include <stdio.h> int main

OpenCv函数学习(一)

Intel Image Processing Library (IPL) 1 typedef struct _IplImage 2 { 3 int nSize; /* IplImage大小 */ 4 int ID; /* 版本 (=0)*/ 5 int nChannels; /* 大多数OPENCV函数支持1,2,3 或 4 个通道 */ 6 int alphaChannel; /* 被OpenCV忽略 */ 7 int depth; /* 像素的位深度,主要有以下支持格式: IPL_DEPTH

OpenCV2学习笔记(十五):利用Cmake高速查找OpenCV函数源代码

在使用OpenCV时,在对一个函数的调用不是非常了解的情况下,通常希望查到该函数的官方声明.而假设想进一步研究OpenCV的函数,则必须深入到源码. 在VS中我们能够选中想要查看的OpenCV函数,点击右键-> 转到定义.我们能够非常清楚地了解到函数的简单声明,可是并没有给出源码. 这是由于openCV将非常多函数被增加了函数库,并被编译成了dll.所以仅仅能看到函数申明,没法看到源码. 第一个方法:在官网下载OpenCV后须要解压缩,完毕后能够找到OpenCV的解压文件夹打开,在source/

【从零学习openCV】IOS7人脸识别实战

前言 接着上篇<IOS7下的人脸检測>,我们顺藤摸瓜的学习怎样在IOS7下用openCV的进行人脸识别,实际上非常easy,因为人脸检測部分已经完毕,剩下的无非调用openCV的方法对採集到的人脸样本进行训练,终于得到一个能够预測人脸的模型.可是当中的原理可谓是博大精深,因为快临最近末考试了,没时间去琢磨当中详细的细节,这次就先写个大概的demo,下次更新文章就得到6月20号之后了. 原理: 从OpenCV2.4之后,openCV增加了新的类FaceRecognizer,我们能够使用它便捷地进

《学习opencv》笔记——矩阵和图像操作——cvGEMM,cvGetCol,cvGetCols and cvGetDiag

矩阵和图像的操作 (1)cvGEMM函数 其结构 double cvGEMM(//矩阵的广义乘法运算 const CvArr* src1,//乘数矩阵 const CvArr* src2,//乘数矩阵 double alpha,//1号矩阵系数 const CvArr* src3,//加权矩阵 double beta,//2号矩阵系数 CvArr* dst,//结果矩阵 int tABC = 0//变换标记 ); tABC变换标记及其对应的含义 CV_GEMM_A_T 转置 src1 CV_GE

《学习opencv》笔记——矩阵和图像操作——cvDet,cvDit,cvDotProduct,cvEigenVV and cvFlip

矩阵和图像的操作 (1)cvDet函数 其结构 double cvDet(//计算矩阵的行列式 const CvArr* mat ); 实例代码 #include <cv.h> #include <highgui.h> #include <stdio.h> #include <iostream> using namespace std; int main() { double va[] = {1,0,0,0,2,0,0,0,3}; CvMat Va=cvMa

《学习opencv》笔记——矩阵和图像操作——cvAdd、cvAddS and cvAddWeighted

矩阵和图像的操作 (1)cvAdd函数 其结构 void cvAdd(//图像加和 const CvArr* src1,//第一个原矩阵 const CvArr* src2,//第二个原矩阵 CvArr* dst, //存放矩阵 const CvArr* mask = NULL: //控制点 ); 就是单纯的将两个图像加和,mask变量控制加和的元素点,相当于"开关的作用"; 程序实例 #include <cv.h> #include <highgui.h> #

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

矩阵和图像的操作 (1)cvCrossProduct函数 其结构 void cvCrossProdust(//计算两个三维向量的叉积 const CvArr* src1, const CvArr* src2, CvArr* dst ); 实例代码 #include <cv.h> #include <highgui.h> #include <stdio.h> #include <iostream> using namespace std; int main()

《学习opencv》笔记——矩阵和图像操作——cvCalcCovarMatrix,cvCmp and cvCmpS

矩阵和图像的操作 (1)cvCalcCovarMatrix函数 其结构 void cvCalcCovarMatrix(计算给定点的均值和协方差矩阵 const CvArr** vects,//给定向量 int count,//给定向量的组数 CvArr* cov_mat,//结果矩阵 CvArr* avg,//根据flag得到结果 int flags//标记位 ); 标记位参数值极其意义 标志参数的具体标志值 意义 CV_COVAR_NORMAL 计算均值和协方差 CV_COVAR__SCRAM

《学习opencv》笔记——矩阵和图像操作——cvSum,cvSVD,cvSVBkSb,cvTrace,cvTranspose,cvXor,cvXorS and cvZero

矩阵和图像的操作 (1)cvSum函数 其结构 CvScalar cvSum(//计算arr各通道所有像素总和 CvArr* arr//目标矩阵 ); 实例代码 #include <cv.h> #include <highgui.h> #include <stdio.h> #include <iostream> using namespace std; int main() { IplImage *src1,*dst1,*dst2,*dst3,*dst4;