OpenCV学习(一)

        最近两天正在学习OpenCV程序设计。因为在我考虑的双目立体视觉系统,设计采用VC++实现,为了应用大量的图像处理函数,使得程序能够快捷高速的实现需要的运算,并且能将我之前作的Matlab算法方便的转化为C++程序。

       其实OpenCV早有耳闻,但是一直没有系统学习,现在沉下心认真学习,希望能够以应用为目的快速掌握。

      下面列出我编的第一个可以运行的OpenCV程序(借鉴了中科院自动化所于仕琪的程序)。

#include "cv.h"
#include "highgui.h"
#include "stdio.h"

int main(int argc, char ** argv)
{
 IplImage * pImg = NULL;
 IplImage * pCannyImg = NULL;  

IplImage *pImgSobel = NULL;


 if ((pImg = cvLoadImage("C://Baboon.jpg",0))!= 0)
 {
  IplImage * pImg2 = cvCreateImage(cvGetSize(pImg),
       pImg->depth,
       pImg->nChannels);

  pImg2 = cvCloneImage(pImg);

  pCannyImg = cvCreateImage(cvGetSize(pImg),
       IPL_DEPTH_8U,1);



  pImgSobel = cvCreateImage(cvSize(512,512),IPL_DEPTH_8U,1);
  cvSobel( pImg, pImgSobel, 2, 2, 3);         

  cvCanny(pImg, pCannyImg, 50, 150, 3);

  cvSaveImage("C://test2.bmp",pImgUp);

  cvNamedWindow("Image",1);
  cvShowImage("Image",pImg);

  cvNamedWindow("Image1",1);
  cvShowImage("Image1",pCannyImg);

   cvNamedWindow("Image2",1);
  cvShowImage("Image2",pImgSobel); 

  cvWaitKey(0);

  cvDestroyWindow("Image");
  cvReleaseImage(&pImg);

  cvDestroyWindow("Image1");
  cvReleaseImage(&pCannyImg);

  cvDestroyWindow("Image2");
  cvReleaseImage(&pImgSobel);
  return 0;
 }
 return -1;
}

 

总结:以上代码实现了图像打开,图像存储,Canny边缘检测,Sobel算子检测,图像显示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值