资源简介
实现图像格式的转化,将bmp的彩色图像转化为其他简单格式,便于使用。
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
using namespace std;
void saveimage_ppm(const char *file_nameunsigned char *imageint hint wbool is_binary=true);
void write_binary_ppm(const char* file_nameunsigned char* imageint hint w);
void write_ascii_ppm(const char* file_nameunsigned char *imageint hint w);
void saveimage_pgm(const char *file_nameunsigned char *imageint hint wbool is_binary=true);
void write_binary_pgm(const char * file_nameunsigned char* imageint hint w);
void write_ascii_pgm(const char * file_nameunsigned char *imageint hint w);
int main()
{
BITMAPFILEHEADER bf;//bmp文件头结构体;
BITMAPINFOHEADER bi;//bmp信息头结构体;
FILE* fp;
DWORD LineByteImgSize;
unsigned char** Imgdata;
//打开文件;
int num = 100;
string filepath = “E:\\多视角重建\\dataset\\Book Arrival\\BookArrival_Cam10_Depth_bmp\\“;
string savepath = “E:\\多视角重建\\dataset\\Book Arrival\\BookArrival_Cam10_Depth_pgm\\“;
for(int n = 1; n < num+1; n++)
{
char ind[5];
string basename = “Cam10_Depth_“;
string postfix1 = “.bmp“;
string postfix2 = “.pgm“;
itoa(nind10);
string fullname;
fullname = filepath + basename;
fullname = fullname + ind + postfix1;
string savename;
savename = savepath + basename;
savename = savename + ind + postfix2;
fp = fopen(fullname.c_str()“rb“);
if(fp == NULL)
{
printf(“can not open file“);
exit(0);
return -1;
}
//读取信息头、文件头;
fread(&bf sizeof(BITMAPFILEHEADER) 1 fp);
fread(&bi sizeof(BITMAPINFOHEADER) 1 fp);
LineByte = bi.biSizeImage/bi.biHeight;
ImgSize = (DWORD)LineByte*bi.biHeight;
Imgdata = new unsigned char*[bi.biHeight];
if(bi.biBitCount == 24)
{
for(int i = 0; i < bi.biHeight; i++)
Imgdata[i] = new unsigned char[(bi.biWidth*3+3)/4*4];
for(int i = 0; i < bi.biHeight; i++)
for(int j = 0; j < (bi.biWidth*3+3)/4*4; j++)
fread(&Imgdata[i][j]11fp);
}
fclose(fp);
//写成ppm文件;
/*unsigned char* ImgData = new unsigned char[bi.biWidth*bi.biHeight*3];
memset(ImgData0sizeof(unsigned char)*bi.biWidth*bi.biHeight*3);
for(int i = 0; i < bi.biHeight; i++)
{
for(int j = 0; j < bi.biWidth; j++)
{
int tind = 3*((bi.biHeight-1-i)*bi.biWidth + j);
ImgData[tind+0] = Imgdata[i][3*j+2];
ImgData[tind+1] = Imgdata[i][3*j+1];
ImgData[tind+2] = Imgdata[i][3*j+0];
}
}
saveimage_ppm(savename.c_str()ImgDatabi.biHeightbi.biWidth);*/
//写成pgm文件;
unsigned char* ImgData = new unsigned char[bi.biWidth*bi.biHeight];
memset(ImgData0sizeof(unsigned char)*bi.biWidth*bi.biHeight);
for(int i = 0; i < bi.biHeight; i++)
{
for(int j = 0; j < bi.biWidth; j++)
{
int tind = (bi.biHeight-1-i)*bi.biWidth + j;
ImgData[tind+0] = Imgdata[i][3*j+0];
}
}
saveimage_pgm(savename.c_str()ImgDatabi.biHeightbi.biWidth);
for(int i = 0
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-04-28 15:45 Cvt_BMP_to_PPM\
目录 0 2017-04-28 11:29 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\
文件 30494720 2017-04-28 15:45 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM.sdf
文件 909 2017-04-28 10:30 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM.sln
文件 11776 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM.suo
文件 3924 2017-04-28 10:35 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Cvt_BMP_to_PPM.vcxproj
文件 942 2017-04-28 10:35 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Cvt_BMP_to_PPM.vcxproj.filters
文件 143 2017-04-28 10:30 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Cvt_BMP_to_PPM.vcxproj.user
目录 0 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\
文件 642 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\cl.command.1.tlog
文件 19846 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\CL.read.1.tlog
文件 324 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\CL.write.1.tlog
文件 406 2017-04-28 11:29 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\Cvt_BMP_to_PPM.exe.em
文件 472 2017-04-28 11:29 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\Cvt_BMP_to_PPM.exe.em
文件 381 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\Cvt_BMP_to_PPM.exe.intermediate.manifest
文件 61 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\Cvt_BMP_to_PPM.lastbuildstate
文件 3747 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\Cvt_BMP_to_PPM.log
文件 218 2017-04-28 11:29 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\Cvt_BMP_to_PPM_manifest.rc
文件 2 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\li
文件 2 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\li
文件 2 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\li
文件 2 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\li
文件 2 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\li
文件 2 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\li
文件 3134 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\li
文件 7902 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\li
文件 754 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\li
文件 138991 2017-04-28 15:43 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\main.obj
文件 422 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\mt.command.1.tlog
文件 338 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\mt.read.1.tlog
文件 338 2017-04-28 15:44 Cvt_BMP_to_PPM\Cvt_BMP_to_PPM\Debug\mt.write.1.tlog
............此处省略14个文件信息
- 上一篇:射频识别(RFID)原理与应用第2版
- 下一篇:离散数学中文版
相关资源
- JPGBMP转DCM(图像医疗格式)无源码
- 29张标准测试图像,bmp图像
- MNIST手写数字图片库,为bmp格式,共
- GTSRB 训练数据的png格式31-42类
- 指纹图像库180176
- bmp格式图片缩小
- freetype2+SDL+SDL_ttf源码包及字符串转b
- 图片格式批量转换器,支持从bmp,j
- stm32f4摄像头数据转bmp上传onenet.zip
- 虚拟IBMpowerPC安装AIX包1
- ico图标大全
- Designing Data Intensive ApplicationsMartin Kl
- PgMP项目集管理标准中文电子版-第三版
- 软件开发常用图标
- AR人脸数据库,BMP和MAT格式
- 快速抠图,破解版,容易操作,图像
- 数字图像处理第三版图片BMP格式_CH1
- ppm图片转换工具(windows版本)
- STM32+MPU6050+HMC5883L+BMP180姿态解算程序
- JPEG.BMP图像压缩算法(绝对物超所值)
- 数字图像处理第三版图片BMP格式CH05
- 数字图像处理第三版所有图片已转化
- GTSRB 训练数据的png格式0-30类
- 斯坦福大学概率图模型PGM讲义
- dicom图像格式与bmp通用格式转换软件实
- BpmAnlyz一款超级猛的歌曲BPM计算器!我
- ISODATA聚类分析,对BMP图片操作
- arm下图片显示,jpeg,bmp,png三种图片
- QtImage读取图片,格式包括现在主要的
- BMP280的STM32F10X完整程序包IIC方式,可
评论
共有 条评论