OpenCV应用:将jpg格式的图片转为bmp格式的图片

岁酱吖の 提交于 2019-12-04 18:07:08

将jpg格式的图片转为bmp格式的图片

之前看到一篇博文,说用cvLoadImage函数读出来的是IplImage类的值,同时cvSaveImage的输入也是IplImage类的值,这就可以通过这两个函数将jpg格式的图片转为bmp格式的图片。
具体代码实现 jpg2bmp
注:编译代码时,请将opencv配置到你的Visual Studio 中
博主本人使用的环境是 OpenCV2.4.13+VS2015+Win10 配置教程

#include <cstdlib>
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
using namespace std;
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>

int main(int argc, char *argv[])
{
	//system("dir       /b jpg > jpglist.txt");
	system("dir *.jpg /b > jpglist.txt");//将当前文件夹内的所有.jpg格式的图片的文件名填入jpglist.txt文档中
	ifstream jpglist("jpglist.txt");

	string file;

	int picnum = 0;

	string geshi = ".bmp";  //图片格式后缀

	while(getline(jpglist, file))
	{
		picnum++;
		cout << "正在加载第" << picnum << "张图片" << endl;

		const char *stri = file.c_str();


		IplImage *src = cvLoadImage(stri);
		if (!src)
		{
			cout << "can not load the image : " << file << endl;
			break;
		}
		
		// file.erase(file.end() - 4);//这个函数的作用是,将从后数第四位的符号删除

		file = file.substr(0, file.length() - 4);//这个函数的作用是将string类的file变量的后四位删除

		file += geshi;

		cvSaveImage(file.c_str(), src);

		cvReleaseImage(&src);

	}

	jpglist.close();




	system("PAUSE");
	return       EXIT_SUCCESS;
}

大概写的是最简单的实现jpg转bmp格式的C++代码吧(蜜汁自信

欢迎各位大神前来指导评论,十分感谢


至于实现bmp转jpg格式,我想只要大家看懂上面的代码,都应该能自己实现这个功能了吧,博主偷个懒,溜了溜了~~

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!