OPENCV基础

来源:互联网 发布:js跳出对话框 编辑:程序博客网 时间:2024/05/05 22:33

        对OPENCV应用不多,偶尔拿来读取图片,或者做些简单处理。在此记下这些基本的东西,以便常时间不用忘记。

首先配置如下使用如下:

      1.在VS下配置包含文件 目录(.h)及库文件目录(.lib)

      2.在输入附加依赖项中输入 要链接的LIB库一般 为cv.lib cvaux.lib cxcore.lib highgui.lib。或者通过:#pragma comment(lib,"highgui.lib")直接在程序 中设置。

      在程序中使用的时候,一般常用的库文件为#include <cv.h>#include <cvaux.h>#include <highgui.h>。常用基本方法如下:

     cvSize 代表图像大小

       IplImage *pOriImg;//基本变量

       pOriImg=cvLoadImage("right.jpg",-1);//加载图片

       pOriImg=cvCreateImage(cvGetSize(pOriImg),IPL_DEPTH_8U,1);//创建空图像,1代表单位通道

       cvSplit(pOriImg,pBlueChannel,pGreenChannel,pRedChannel,NULL);   //把3通道 图像分为三个单通道图像

     cvThreshold(pDepthMap,pDepthMap,50,255,CV_THRESH_BINARY) 对单通道数组应用固定阈值操作

     cvSmooth(pLeftMap,pDepthMap,CV_GAUSSIAN,0,3,2,0);    //对图像进行平滑处理,CV_GAUSSIAN代表高斯滤波

     cvNamedWindow("LeftView);//创建新视图

     cvShowImage("LeftView",pLeftMap);//在新视图下显示图像

     cvMerge(pLeftMap,pLeftMap,pRightMap, 0,pMergImg);//将三个单通道图像融合为一个三通道图像

      cvSaveImage("Righ.jpg",pRightMap);//将图像保存为指定文件

        cvWaitKey();//不断刷新图像类似,OPENGL中GLFUSH


        获得图像的宽高: 

       int h = pDepthMap->widthStep

       获得图像数据:

       uchar* datadepthmap=(uchar*)pDepthMap->imageData;

        CvRect()矩形区域

  

0 0
原创粉丝点击