图像创建、保存和复制
Wikipedia,自由的百科全书
来自于仕琪的讲稿《使用OpenCV进行图像处理》中的例程
/************************************************** * cvLoadImage, cvSaveImage, cvCreateImage, cvCopy以及图像显示的例子 **************************************************/ /*********************************************************************** * OpenCV example * By Shiqi Yu 2006 ***********************************************************************/ #include "cv.h" #include "highgui.h" int main( int argc, char** argv ) { IplImage* pImg; //声明IplImage指针 //载入图像,强制转化为Gray if( argc == 3 && (pImg = cvLoadImage( argv[1], 0)) != 0 ) { IplImage* pImg2 = cvCreateImage(cvGetSize(pImg), pImg->depth, pImg->nChannels); cvCopy(pImg, pImg2, NULL); cvSaveImage(argv[2], pImg2);//把图像写入文件 cvNamedWindow( "Image", 1 );//创建窗口 cvShowImage( "Image", pImg );//显示图像 cvWaitKey(0); //等待按键 cvDestroyWindow( "Image" );//销毁窗口 cvReleaseImage( &pImg ); //释放图像 cvReleaseImage( &pImg2 ); //释放图像 return 0; } return -1; }
[编辑]
Python 版本
# -*- coding:utf-8 -*- ########################################################### # OpenCV example # # cvLoadImage, cvSaveImage, cvCreateImage, cvCopy # 以及图像显示的例子 # # By ChaiShushan 2008 ########################################################### import sys # 导入OpenCV模块 from opencv.cv import * from opencv.highgui import * if __name__ == '__main__': if len(sys.argv) == 3: # 载入图像,强制转化为Gray pImg = cvLoadImage(sys.argv[1], 0) if not pImg: sys.exit(-1) # 创建同样大小的图小 pImg2 = cvCreateImage(cvGetSize(pImg), pImg.depth, pImg.nChannels) # 复制图像 cvCopy(pImg, pImg2, None) # 把图像写入文件 cvSaveImage(sys.argv[2], pImg2) # 创建窗口 cvNamedWindow ("mywin") # 显示图像 cvShowImage ("mywin", pImg) cvWaitKey (0)
注: Python版本由chai2010改写.


