- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hffman编码及解码
Huffm?an编码图?像解码
*********************/
//读入编码图?像
bool readH?uffma?n(char *Name)
{
int i,j;
char NameS?tr[100];
//读取Huf?fman编?码信息和编?码树
strcp?y(NameS?tr,Name);
strca?t(NameS?tr,.bpt);
FILE *fin = fopen?(NameS?tr,r);
if(fin == 0){
print?f(未找到指定?文件!\n);
retur?n 0;
}
fscan?f(fin,%d %d %d,NodeS?tart,NodeN?um,InfLe?n);
//print?f(%d %d %d\n,NodeS?tart,NodeN?um,InfLe?n);
for(i = 0;i NodeN?um;i ++){
fscan?f(fin,%d %d %d,node[i].color?,node[i].lson,node[i].rson);
//print?f(%d %d %d\n,node[i].color?,node[i].lson,node[i].rson);
}
//二进制读方?式打开指定?的图像文件?
strcp?y(NameS?tr,Name);
strca?t(NameS?tr,.bhd);
FILE *fp=fopen?(NameS?tr,rb);
if(fp==0){
print?f(未找到指定?文件!\n);
retur?n 0;
}
//跳过位图文?件头结构B?ITMAP?FILEH?EADER?
fseek?(fp, sizeo?f(BITMA?PFILE?HEADE?R),0);
//定义位图信?息头结构变?量,读取位图信?息头进内存?,存放在变量?head中?
BITMA?PINFO?HEADE?R head;
fread?(head, sizeo?f(BITMA?PINFO?HEADE?R), 1,fp);
//获取图像宽?、高、每像素所占?位数等信息?
bmpWi?dth = head.biWid?th;
bmpHe?ight = head.biHei?ght;
biBit?Count? = head.biBit?Count?;
//定义变量,计算图像每?行像素所占?的字节数(必须是4的?倍数)
int lineB?yte=(bmpWi?dth * biBit?Count?/8+3)/4*4;
//灰度图像有?颜色表,且颜色表表?项为256?
if(biBit?Count?==8){
//申请颜色表?所需要的空?间,读颜色表进?内存
pColo?rTabl?e=new RGBQU?AD[256];
fread?(pColo?rTabl?e,sizeo?f(RGBQU?AD),256,fp);
}
//申请位图数?据所需要的?空间,读位图数据?进内存
pBmpB?uf=new unsig?ned char[lineB?yte * bmpHe?ight];
fread?(pBmpB?uf,1,InfLe?n / 8,fp);
//关闭文件
fclos?e(fp);
retur?n 1;
}
void Huffm?anDec?ode()
{
//获取编码信?息
int i,j,tmp;
int lineB?yte=(bmpWi?dth * biBit?Count?/8+3)/4*4;
for(i = 0;i InfLe?n / 8;i ++)
{
j = i * 8 + 7;
tmp = *(pBmpB?uf + i);
while?(tmp 0)
{
您可能关注的文档
- Fash 8 动画设计教程.ppt
- Fash动画制作期末作品设计说明书.doc
- fash cs3二维动画制作案例教程电工版第5章 元件与实例.ppt
- Fash动画设计基础与应用 第7讲 Fash素材文件的导入.ppt
- Fash动画设计基础与应用 第3讲 Fash颜色工具的使用.ppt
- fash cs3二维动画制作案例教程电工版第6章 高级动画.ppt
- fash cs3二维动画制作案例教程电工版第1章 fash cs3基础知识.ppt
- fb关于柏高广告公司管理体制改进建议书7.doc
- fash期末考试试卷b卷及答案.doc
- FN00产品认证通用实施方案.doc
- 深圳亚港投资和赤峰富岭公司巴林左旗年产50万吨高活性氧化钙项目水土保持方案报告书.docx
- 嫩江市工业气体充装项目建设项目环境影响报告表.docx
- 内蒙古银都矿业有限责任公司2021年第三季度委托自行监测(污染源废气)检测报告.docx
- 内蒙古恒富牧业集团有限公司10000头奶牛养殖项目征求意见稿.docx
- 清水河县红十字会2020年度受赠资金及物资收支情况审计报告.docx
- 嫩江象屿农产有限公司物流仓储烘干建设项目环境影响报告表.docx
- 内蒙古银都矿业有限责任公司2022年3月份污染源废气委托检测.docx
- 内蒙古启明中药饮片有限公司新建中药饮片生产加工基地.docx
- 启东麦博海上风电叶片生产项目海域使用论证报告书.docx
- 圐圙兔沟小流域综合治理项目35kV架空线路项目水土保持设施验收总结报告.docx
文档评论(0)