opencv实现不同格式图片的转换(jpg<-->bmp)
2012-04-12 11:24
901 查看
opencv 的图片导入(cvLoadImage)和保存图片(cvSaveImage)分别支持很多格式的图片,但是他们在内存在却是统一的结构( IplImage),所以我们可以很轻松的实现图片格式的转换,代码很简单
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
#include<stdlib.h>
int main(int argc,char * argv[])
{
IplImage* img = 0;
img = cvLoadImage(argv[1],CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);
cvNamedWindow("region of image",CV_WINDOW_AUTOSIZE);
cvShowImage("region of image",img);
int num=strlen(argv[1]);
char* name=new char[num+1];
strcpy(name,argv[1]);
*(name+num-1)='p';
*(name+num-2)='m';
*(name+num-3)='b';
*(name+num)='\0';
cvSaveImage(name,img);
cvWaitKey(0);
return 0;
}
这段函数就是通过 main函数传入的参数为输入文件, 把文件后缀改成bmp 后保存。
写这段程序是为了把批量的图片转换,所以我写了个PERL程序,调用上面的程序,对图片转换下:
perl程序如下:
#!/usr/bin/perl
opendir(DIR,".");
my (@filelist) =readdir(DIR);
close(DIR);
foreach(@filelist){
if($_=~/jpg$/)
{
system("Picture $_");
}
}
这样我的图片批量转换就实现了
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
#include<stdlib.h>
int main(int argc,char * argv[])
{
IplImage* img = 0;
img = cvLoadImage(argv[1],CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);
cvNamedWindow("region of image",CV_WINDOW_AUTOSIZE);
cvShowImage("region of image",img);
int num=strlen(argv[1]);
char* name=new char[num+1];
strcpy(name,argv[1]);
*(name+num-1)='p';
*(name+num-2)='m';
*(name+num-3)='b';
*(name+num)='\0';
cvSaveImage(name,img);
cvWaitKey(0);
return 0;
}
这段函数就是通过 main函数传入的参数为输入文件, 把文件后缀改成bmp 后保存。
写这段程序是为了把批量的图片转换,所以我写了个PERL程序,调用上面的程序,对图片转换下:
perl程序如下:
#!/usr/bin/perl
opendir(DIR,".");
my (@filelist) =readdir(DIR);
close(DIR);
foreach(@filelist){
if($_=~/jpg$/)
{
system("Picture $_");
}
}
这样我的图片批量转换就实现了
相关文章推荐
- 使用JAVA 实现jpg/tif/bmp 等图片之间格式得互相转换
- JAVA 实现jpg/tif/bmp 等图片格式互相转换,解决RenderedOp资源不能释放
- BCB实现BMP图片的RGB分解,BMP与JPG格式的相互转换
- C++Builder中实现BMP,JPG图片格式的转换
- JAVA 实现jpg/tif/bmp 等图片之间格式得互相转换
- JAVA 实现jpg/tif/bmp 等图片之间格式得互相转换
- 在 VC++6.0 中将 JPG 格式图片转换成 BMP 格式
- java将图片缩放实现类(能将jpg、bmp、png、gif图片文件,进行等比或非等比的大小转换)
- 在 VC++6.0 中将 JPG 格式图片转换成 BMP 格式
- Java 转换png jpg gif格式图片的相互转换的实现
- C# 图片格式(JPG,BMP,PNG,GIF)等转换为ICO图标
- delphi 实现 图片类型转换 jpg---bmp 及修改位图大小
- [转载]C#图片格式(JPG,BMP,PNG,GIF)等转换为ICO图标
- opencv:bmp和opencv图片格式的转换
- bmp图片和jpg图片之间的相互转换(OpenCV)
- Delphi png、bmp、gif等图片格式转换成jpg
- BMP与JPG图片格式的互相转换
- Iterator<FileItem>的使用,实现文件(图片)上传,限制图片格式,设置随机文件名
- C# 图片格式(JPG,BMP,PNG,GIF)等转换为ICO图标
- php 将bmp图片转为jpg等其他任意格式的图片