将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格式,我想只要大家看懂上面的代码,都应该能自己实现这个功能了吧,博主偷个懒,溜了溜了~~
来源:CSDN
作者:白开水+
链接:https://blog.csdn.net/weixin_44769128/article/details/96313517