• Open Source Computer Vision Library

图像创建、保存和复制

Wikipedia,自由的百科全书

来自于仕琪的讲稿《使用OpenCV进行图像处理》中的例程

  1. /**************************************************
  2. * cvLoadImage, cvSaveImage, cvCreateImage, cvCopy以及图像显示的例子
  3. **************************************************/
  4.  
  5. /***********************************************************************
  6. * OpenCV example
  7. * By Shiqi Yu 2006
  8. ***********************************************************************/
  9.  
  10. #include "cv.h"
  11. #include "highgui.h"
  12.  
  13. int main( int argc, char** argv )
  14. {
  15. IplImage* pImg; //声明IplImage指针
  16.  
  17. //载入图像,强制转化为Gray
  18. if( argc == 3 &&
  19. (pImg = cvLoadImage( argv[1], 0)) != 0 )
  20. {
  21.  
  22. IplImage* pImg2 = cvCreateImage(cvGetSize(pImg),
  23. pImg->depth,
  24. pImg->nChannels);
  25. cvCopy(pImg, pImg2, NULL);
  26.  
  27. cvSaveImage(argv[2], pImg2);//把图像写入文件
  28.  
  29. cvNamedWindow( "Image", 1 );//创建窗口
  30. cvShowImage( "Image", pImg );//显示图像
  31.  
  32. cvWaitKey(0); //等待按键
  33.  
  34. cvDestroyWindow( "Image" );//销毁窗口
  35. cvReleaseImage( &pImg ); //释放图像
  36. cvReleaseImage( &pImg2 ); //释放图像
  37. return 0;
  38. }
  39.  
  40. return -1;
  41. }

Python 版本

  1.  
  2. # -*- coding:utf-8 -*-
  3. ###########################################################
  4. # OpenCV example
  5. #
  6. # cvLoadImage, cvSaveImage, cvCreateImage, cvCopy
  7. # 以及图像显示的例子
  8. #
  9. # By ChaiShushan 2008
  10. ###########################################################
  11.  
  12. import sys
  13.  
  14. # 导入OpenCV模块
  15.  
  16. from opencv.cv import *
  17. from opencv.highgui import *
  18.  
  19. if __name__ == '__main__':
  20.  
  21. if len(sys.argv) == 3:
  22.  
  23. # 载入图像,强制转化为Gray
  24.  
  25. pImg = cvLoadImage(sys.argv[1], 0)
  26. if not pImg: sys.exit(-1)
  27.  
  28. # 创建同样大小的图小
  29.  
  30. pImg2 = cvCreateImage(cvGetSize(pImg), pImg.depth, pImg.nChannels)
  31.  
  32. # 复制图像
  33.  
  34. cvCopy(pImg, pImg2, None)
  35.  
  36. # 把图像写入文件
  37.  
  38. cvSaveImage(sys.argv[2], pImg2)
  39.  
  40. # 创建窗口
  41.  
  42. cvNamedWindow ("mywin")
  43.  
  44. # 显示图像
  45.  
  46. cvShowImage ("mywin", pImg)
  47. cvWaitKey (0)
  48.  

注: Python版本由chai2010改写.

Views
Personal tools