-
大小: 4.35MB文件類型: .zip金幣: 2下載: 0 次發布日期: 2023-10-30
- 語言: C/C++
- 標簽:
資源簡介
基于JPEG2000的圖像編碼與解碼c++版

代碼片段和文件信息
#include?“j2k-codec.h“
#ifdef?__APPLE__
#define?WORD??unsigned?short
#define?DWORD?unsigned?int
#define?LONG??int
#define?BI_RGB??0
#pragma?pack(2)
typedef?struct?tagBITMAPFILEHEADER?{
WORD????bfType;
DWORD???bfSize;
WORD????bfReserved1;
WORD????bfReserved2;
DWORD???bfOffBits;
}?BITMAPFILEHEADER;
#pragma?pack()
typedef?struct?tagBITMAPINFOHEADER{
DWORD??????biSize;
LONG???????biWidth;
LONG???????biHeight;
WORD???????biPlanes;
WORD???????biBitCount;
DWORD??????biCompression;
DWORD??????biSizeImage;
LONG???????biXPelsPerMeter;
LONG???????biYPelsPerMeter;
DWORD??????biClrUsed;
DWORD??????biClrImportant;
}?BITMAPINFOHEADER;
#endif
TCHAR*?J2K_GetErrStr(int?code)
{
static?TCHAR?err_str[J2K_MAX_ERROR_LEN];
J2K_GetErrorStr(code?err_str);
return?err_str;
}
/*/////////////////////////////////////////////////////////////////////////////////////////
//?BMP?Saving
/////////////////////////////////////////////////////////////////////////////////////////*/
int?SaveAsBMP(char?*filename?J2K_Image?*img)
{
int?w?w2?h?width?=?img->Width?height?=?img->Height?bpp?prec?tmp?color_map_size;?FILE?*f;
unsigned?char???*row;
unsigned?short?*srow;
BITMAPFILEHEADER?bmpHeader;?BITMAPINFOHEADER?bmpInfoHeader;?
prec?=?img->Precision;
if(prec?>?8)?bpp?=?img->buffer_bpp?/?2;?else?bpp?=?img->buffer_bpp;
if(bpp?==?2)?return?0;?//?not?supported
color_map_size?=?(bpp?==?1???256*4?:?0);
bmpHeader.bfType????=?‘MB‘;
bmpHeader.bfSize????=?14?+?40?+?color_map_size;?//sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);
bmpHeader.bfOffBits?=?bmpHeader.bfSize;
bmpHeader.bfSize???+=?width?*?height?*?bpp;
bmpHeader.bfReserved1?=?bmpHeader.bfReserved2?=?0;
bmpInfoHeader.biSize?????=?40;//sizeof(BITMAPINFOHEADER);?
bmpInfoHeader.biWidth????=?width;
bmpInfoHeader.biHeight???=?height;?
bmpInfoHeader.biPlanes???=?1;?
bmpInfoHeader.biBitCount?=?(bpp?==?1)???8?:?(bpp==3???24?:?32);
bmpInfoHeader.biCompression???=?BI_RGB;
bmpInfoHeader.biSizeImage?????=?0;?
bmpInfoHeader.biXPelsPerMeter?=?0;?
bmpInfoHeader.biYPelsPerMeter?=?0;?
bmpInfoHeader.biClrUsed???????=?(bpp==1???256?:?0);?
bmpInfoHeader.biClrImportant??=?0;?
f?=?fopen(filename?“wb“);?if(!f)?return?0;
//?fwrite(&bmpHeader?14?1?f);
fwrite(&bmpHeader.bfType?2?1?f);
fwrite(&bmpHeader.bfSize?4?1?f);
fwrite(&bmpHeader.bfReserved1?2?1?f);
fwrite(&bmpHeader.bfReserved2?2?1?f);
fwrite(&bmpHeader.bfOffBits?4?1?f);
//?fwrite(&bmpInfoHeader?sizeof(BITMAPINFOHEADER)?1?f);
fwrite(&bmpInfoHeader.biSize?4?1?f);
fwrite(&bmpInfoHeader.biWidth?4?1?f);
fwrite(&bmpInfoHeader.biHeight?4?1?f);
fwrite(&bmpInfoHeader.biPlanes?2?1?f);
fwrite(&bmpInfoHeader.biBitCount?2?1?f);
fwrite(&bmpInfoHeader.biCompression?4?1?f);
fwrite(&bmpInfoHeader.biSizeImage?4?1?f);
fwrite(&bmpInfoHeader.biXPelsP
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-12-26?18:27??JPEG2000\
?????目錄???????????0??2017-12-25?14:09??JPEG2000\Kakadu\
?????文件???????51712??2017-08-28?02:05??JPEG2000\Kakadu\configure_environment.exe
?????文件??????169472??2017-08-28?02:05??JPEG2000\Kakadu\kdu_buffered_compress.exe
?????文件??????147456??2017-08-28?02:05??JPEG2000\Kakadu\kdu_buffered_expand.exe
?????文件??????370688??2017-08-28?02:05??JPEG2000\Kakadu\kdu_compress.exe
?????文件??????320000??2017-08-28?02:05??JPEG2000\Kakadu\kdu_expand.exe
?????文件???????69632??2017-08-28?02:05??JPEG2000\Kakadu\kdu_jp2info.exe
?????文件??????114688??2017-08-28?02:05??JPEG2000\Kakadu\kdu_maketlm.exe
?????文件??????391680??2017-08-28?02:05??JPEG2000\Kakadu\kdu_merge.exe
?????文件??????468992??2017-08-28?02:05??JPEG2000\Kakadu\kdu_render.exe
?????文件??????313344??2017-08-28?02:05??JPEG2000\Kakadu\kdu_server.exe
?????文件??????161280??2017-08-28?02:05??JPEG2000\Kakadu\kdu_server_admin.exe
?????文件?????1145344??2017-08-28?02:05??JPEG2000\Kakadu\kdu_show.exe
?????文件??????215290??2017-08-28?02:05??JPEG2000\Kakadu\kdu_show.pdf
?????文件??????413696??2017-08-28?02:05??JPEG2000\Kakadu\kdu_v_compress.exe
?????文件??????292352??2017-08-28?02:05??JPEG2000\Kakadu\kdu_v_expand.exe
?????文件??????464384??2017-08-28?02:05??JPEG2000\Kakadu\kdu_vcom_fast.exe
?????文件????????1078??2017-08-28?02:05??JPEG2000\Kakadu\kdu_winshow.ico
?????文件??????????54??2017-12-26?18:27??JPEG2000\README.txt
?????文件??????178140??2017-08-28?00:49??JPEG2000\Usage_Examples.txt
?????目錄???????????0??2017-12-21?09:13??JPEG2000\include\
?????文件????????4993??2012-09-08?14:39??JPEG2000\include\J2K_Codec.bas
?????文件????????5902??2012-09-08?14:39??JPEG2000\include\J2K_Codec.cs
?????文件????????5991??2012-09-08?14:40??JPEG2000\include\J2K_Codec.vb
?????文件????????4585??2012-09-08?15:12??JPEG2000\include\j2k-codec.cpp
?????文件?????????433??2011-05-04?22:00??JPEG2000\include\j2k-codec.def
?????文件???????20828??2012-09-08?14:38??JPEG2000\include\j2k-codec.h
?????目錄???????????0??2017-12-21?09:13??JPEG2000\lib\
?????文件????????3131??2012-09-08?15:00??JPEG2000\lib\j2k-dynamic-16bit.exp
?????文件????????5788??2012-09-08?15:00??JPEG2000\lib\j2k-dynamic-16bit.lib
............此處省略126個文件信息
評論
共有 條評論