opencv 某path下 .jpg -> .bmp

#include //project->settings->general->Use MFC in a shared DLL
#include "windows.h"
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
#include "string"
#include "vector"
#include "iostream"


using namespace  std;
void FindAllFile(string _path, vector& filenames)
{
	CString path = _path.c_str();
	CFileFind finder;
	BOOL working = finder.FindFile(path + "\\*.*");
	while (working)
	{
		working = finder.FindNextFile();
		if (finder.IsDots())
			continue;
		if (finder.IsDirectory())
		{
			//递归遍历所有文件夹
			//CString::GetBuffer(0)=>string
			FindAllFile(finder.GetFilePath().GetBuffer(0), filenames);
		} 
		else 
		{
			string filename = finder.GetFileName();
			filenames.push_back(filename);
		}
	}
}


int main()
{
	vector filenames;
	string filePath = "C:\\Users\\careyjiang\\Desktop\\test";
	FindAllFile(filePath, filenames);
	for (vector::iterator itr = filenames.begin(); itr != filenames.end();itr++)
	{
		size_t potPose = itr->find_last_of('.');		//扩展名
		if (itr->substr(potPose, string::npos) == ".jpg")///是jpg的图片
		{
			IplImage* curImage;
			string jpgPath = filePath+ "\\" + (*itr);
			curImage = cvLoadImage( jpgPath.c_str(),1);
			string bmpPath =filePath+ "\\"  + itr->substr(0,potPose) + ".bmp" ;
			cvSaveImage(bmpPath.c_str(),curImage);
			cvReleaseImage(&curImage);
		}		
	}


}


你可能感兴趣的:(图像处理)