天天看點

關于opencv的讀取和儲存指令

<span style="font-family: Arial, Helvetica, sans-serif;">#include <stdlib.h></span>
           
#include <stdio.h>
#include <math.h>
#include <cv.h>
#include <highgui.h> // 一般不需要cv.h内已包含該頭檔案

int main()
{
	IplImage* img = 0; 
	// 把圖像導入到程式中,存放到img中
	img=cvLoadImage("lena.jpg");//支援的圖像格式: BMP, DIB, JPEG, JPG, JPE, PNG, PBM, PGM, PPM,
	//SR, RAS, TIFF, TIF
	if(!img)//如果無法導入,輸出錯誤資訊
		printf("Could not load image file: %s\n","lena.jpg");

	cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE); 
	cvMoveWindow("mainWin", 100, 100);
	/*OpenCV預設将讀入的圖像強制轉換為一幅三通道彩色圖像. 不過可以按以下方法修改讀入方式:

	img=cvLoadImage(fileName,flag);

	flag: >0 将讀入的圖像強制轉換為一幅三通道彩色圖像
	=0 将讀入的圖像強制轉換為一幅單通道灰階圖像
	<0 讀入的圖像通道數與所讀入的檔案相同.*/
	IplImage* img2=cvLoadImage("lena.jpg",0);

	cvNamedWindow("mainWin2", CV_WINDOW_AUTOSIZE); 
	cvMoveWindow("mainWin2", 500, 100);
	cvShowImage("mainWin", img ); 
	cvShowImage("mainWin2",img2);
	if(!cvSaveImage("F:\\灰階圖.jpg",img2)) printf("Could not save: %s\n", img2);//儲存圖像
	/*
	在儲存圖像的時間要注意cvSaveImage( ,)的第一個參數要寫具體的路徑,并且確定檔案夾存在,如果沒有該路徑會報錯。
	*/
	cvWaitKey(0); 
	cvDestroyWindow("mainWin");
	cvDestroyWindow("mainWin2");
	cvReleaseImage(&img );
	cvReleaseImage(&img2);
	return 0;
}
           

直接上代碼,對儲存的基礎性使用。