织梦CMS - 轻松建站从此开始!

罗索

bmp图片和jpg图片之间的相互转换(OpenCV)

落鹤生 发布于 2009-11-23 21:08 点击:次 
利用进行BMP与JPEG之间互转的源码。1. JPG转BMP;2. BMP转JPG
TAG:

无所事事,就写了很简单且无聊的程序,就是bmp图片和jpg图片的相互转换,下面是程序:

jpg图片转换为bmp图片:

下载地址:http://sites.google.com/site/pengsky9/xia-zai/jpg2bmp.7z?attredirects=0
说明:将jpg图片转化为bmp图片
1、将需要转换的jpg图片放到jpg目录下
2、运行jpg2bmp.exe即可
--------------------------------------------------------------------------------

#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");

    ifstream jpglist("jpglist.txt");
vector<string> jpgName;
string buf;
while(jpglist)
{
   if(getline(jpglist,buf))
   {
    jpgName.push_back(buf);
   }
}
jpglist.close();

for(string::size_type i=0;i<jpgName.size();i++)
{
   string save_dir="bmp/";
   string open_dir="jpg/";
   string filename=jpgName[i];
   string file_no_ext="";
   for(int j=0;j<jpgName[i].length()-4;j++)
   {
    file_no_ext+=filename[j];
   }
   file_no_ext.append(".bmp");

   IplImage *src=cvLoadImage(open_dir.append(jpgName[i]).c_str());
   if(!src)
   {
    cout<<"can not load the image : "<<jpgName[i]<<endl;
    break;
   }

   cout<<"processing "<<jpgName[i]<<endl;

   cvSaveImage(save_dir.append(file_no_ext).c_str(),src);
   cvReleaseImage(&src);
   src=NULL;
}

    system("PAUSE");
    return EXIT_SUCCESS;
}

bmp图片转换为jpg图片:

下载地址:http://sites.google.com/site/pengsky9/xia-zai/bmp2jpg.7z?attredirects=0
说明:将后缀名为bmp的图片转化为jpg图片
1、将需要转换的bmp图片放到bmp目录下
2、运行bmp2jpg.exe即可
--------------------------------------------------------------------------------

#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 bmp > bmplist.txt");
   
    ifstream bmplist("bmplist.txt");
vector<string> bmpName;
string buf;
while(bmplist)
{
   if(getline(bmplist,buf))
   {
    bmpName.push_back(buf);
   }
}
bmplist.close();

for(string::size_type i=0;i<bmpName.size();i++)
{
   string save_dir="jpg/";
   string open_dir="bmp/";
   string filename=bmpName[i];
   string file_no_ext="";
   for(int j=0;j<bmpName[i].length()-4;j++)
   {
    file_no_ext+=filename[j];
   }
   file_no_ext.append(".jpg");

   IplImage *src=cvLoadImage(open_dir.append(bmpName[i]).c_str());
   if(!src)
   {
    cout<<"can not load the image : "<<bmpName[i]<<endl;
    break;
   }

   cout<<"processing "<<bmpName[i]<<endl;

   cvSaveImage(save_dir.append(file_no_ext).c_str(),src);
   cvReleaseImage(&src);
   src=NULL;
}

    system("PAUSE");
    return EXIT_SUCCESS;
}
 

(落鹤生)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/200911/7985.html]
本文出处:未知 作者:落鹤生
顶一下
(3)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容