资源简介
图像处理作业C++源代码
代码片段和文件信息
////////////////////////////////////////////////////////////////////////////////////////////
//codeofImage.cpp : implementation file
//
//关于图像编码的处理函数实现
// HuffmanCoding(HuffmanTree HT
// CString* HCdouble *wint n) 哈夫曼编码
// MinCode Select(HuffmanTree HT int n) 在huffmantree中取得最小的两个值
// DIBToPCX256(HDIB hDib CFile& file) Pcx文件编码实现
// BOOL WINAPI DIBToDXF(HDIB hDibCFile& file) 写到我自己定义的行程编码文件中
// HGLOBAL WINAPI OpenDXF(HDIB hDib CFile& file) 打开行程编码文件
///////////////////////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “codeOfImage.h“
#include “math.h“
//////////////////////////////////////////////////////////////////////////////
// HuffmanCoding(HuffmanTree HT
// CString* HCdouble *wint n) 哈夫曼编码
// HT 形参,哈夫曼树
// HC 哈夫曼编码字符串
// w 输入权值数组
// n 数组大小
/////////////////////////////////////////////////////////////////////////////
BOOL HuffmanCoding(HuffmanTree HTCString* HCdouble *wint n)
{
int is1=0s2=0;
//哈夫曼树指针
HuffmanTree p;
//临时变量
int fcm;
//两个最小值
MinCode min;
/* double fT;
// 用冒泡法对进行灰度值出现的概率排序,结果保存在数组fTemp中
for (j = 0; j < n; j ++)
{
for (i = 0; i < n - j - 1; i ++)
{
if (w[i] > w[i + 1])
{
// 互换
fT = w[i];
w[i] = w[i + 1];
w[i + 1] = fT;
}
}
}
// 找到概率大于0处才开始编码
for (i = 0; i < n; i ++)
{
// 判断概率是否大于0
if (w[i] > 0)
{
break;
}
}
*/
if(n>1)
m=2*n-1;
//为huffmantree分配内存2*-1
HT=(HuffmanTree) new BYTE[(m+1)*sizeof(HTNode)];
//初始化树
for(p=HTi=0;i {
p->weight=*w;
p->parent=0;
p->lchild=0;
p->rchild=0;
}
for(;i {
p->weight=0;
p->parent=0;
p->lchild=0;
p->rchild=0;
}
//生成huffmantree
for(i=n;i {
min=Select(HTi);
s1=min.s1;
s2=min.s2;
HT[s1].parent=i;
HT[s2].parent=i;
HT[i].lchild=s1;
HT[i].rchild=s2;
HT[i].weight=HT[s1].weight+HT[s2].weight;
}
//由叶子到根,左叶子为0,右叶子为1,生成编码,存入hc
for(i=0;i {
if (0==HT[i].weight) continue;
for(c=if=HT[i].parent;f!=0;c=ff=HT[f].parent)
{
////////////////////////////////////////////////
if(HT[f].lchild==c)
HC[i]=“0“+HC[i];
else
HC[i]=“1“+HC[i];
}
}
return TRUE;
}
//////////////////////////////////////////////////////////////////////////////
// MinCode Select(HuffmanTree HT int n)
// HT 形参,哈夫曼树
// n 要查找的数组范围
//返回值为两个最小的值
/////////////////////////////////////////////////////////////////////////////
MinCode Select(HuffmanTree HT int n)
{
double minsecmin;
double temp;
unsigned int is1s2tempi;
MinCode code;
s1=1;s2=1;
for(i=0;i if(HT[i].parent==0) //父节点为0的
{
min=HT[i].weight;
s1=i;
break;
}
tempi=i++;
for(;i if(HT[i].weight {
min=HT[i].weight;
s1=i;
}
for(i=tempi;i if(HT[i].parent==0&&i!=s1)
{
se
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 13502 2003-10-26 01:03 图像处理作业C++源代码\codeofImage.cpp
文件 569 2003-10-16 22:16 图像处理作业C++源代码\codeOfImage.h
文件 2195 2003-10-20 18:09 图像处理作业C++源代码\DiagramWnd.cpp
文件 1338 2003-10-26 11:15 图像处理作业C++源代码\DiagramWnd.h
文件 18680 2003-10-21 14:41 图像处理作业C++源代码\dibapi.cpp
文件 6000 2003-11-01 10:59 图像处理作业C++源代码\dibapi.h
文件 4236 2003-10-20 18:09 图像处理作业C++源代码\dibFourier.cpp
文件 969 2003-10-13 09:23 图像处理作业C++源代码\dibFourier.h
文件 8428 2003-10-29 20:12 图像处理作业C++源代码\DigitalPicWnd.cpp
文件 1840 2003-10-26 12:48 图像处理作业C++源代码\DigitalPicWnd.h
文件 9423 2003-09-17 23:33 图像处理作业C++源代码\dip.cpp
文件 263 2003-09-16 18:49 图像处理作业C++源代码\dip.h
文件 11878 2004-10-18 16:29 图像处理作业C++源代码\dip1.clw
文件 3623 2003-10-27 00:44 图像处理作业C++源代码\dip1.cpp
文件 533 2003-10-25 17:34 图像处理作业C++源代码\dip1.dsw
文件 1347 2003-09-22 09:22 图像处理作业C++源代码\dip1.h
文件 345088 2004-10-18 18:13 图像处理作业C++源代码\dip1.ncb
文件 4456 2004-09-25 10:06 图像处理作业C++源代码\dip1.plg
文件 981 2003-10-25 17:31 图像处理作业C++源代码\DlgGeoRota.cpp
文件 1233 2003-10-25 17:31 图像处理作业C++源代码\DlgGeoRota.h
文件 956 2003-10-25 17:22 图像处理作业C++源代码\DlgGeoTran1.cpp
文件 1249 2003-10-25 17:21 图像处理作业C++源代码\DlgGeoTran1.h
文件 2285 2003-10-26 15:35 图像处理作业C++源代码\DlgOfGetColor.cpp
文件 1593 2003-10-26 14:43 图像处理作业C++源代码\DlgOfGetColor.h
文件 1076 2003-10-20 18:13 图像处理作业C++源代码\DlgOfGsNoise.cpp
文件 1270 2003-10-19 23:02 图像处理作业C++源代码\DlgOfGsNoise.h
文件 12674 2003-11-09 18:47 图像处理作业C++源代码\DlgOfHideBmp.cpp
文件 1552 2003-10-27 00:40 图像处理作业C++源代码\DlgOfHideBmp.h
文件 3018 2003-10-20 18:20 图像处理作业C++源代码\DlgOfHuffman.cpp
文件 1355 2003-10-16 23:28 图像处理作业C++源代码\DlgOfHuffman.h
............此处省略49个文件信息
- 上一篇:全国城市js数组
- 下一篇:典当综合业务管理系统(完整版)
相关资源
- 典当综合业务管理系统(完整版)
- 联机版井字棋源码
- 用IdFTPServer写的一个FTPServer程序
- 视频处理控件TVideoGrabber.v6.7.5.For.Del
- 从EXCEL中取数据在Teechart7显示应用示例
- socket文件传输源码
- 我写的一个简单的属性编辑器控件
- MP4编解C源代码
- 校园网络信息发布系统
- Delphi反编译工具的源码
- 进销存管理系统PHP源码
- VC 截获网络数据包.rar
- vc漂亮的tab控件
- 图文手把手教你一步步用VC 2010编写通
- 图文手把手教你一步步用VC 2010编写通
- hxdef100源码、远控、后门
- 视频会议,VC视频会议源码.
- 易语言CMD替换自身源码
- 易语言计算N次方源码
- 易语言Bootstrap类模块2.13源码
- 易语言矩阵的旋转源码易语言GDI矩阵
- 易语言认识矩阵源码易语言GDI矩阵源
- 易语言矩阵应用到指定坐标源码易语
- 易语言注册码验证思路模块源码
-
UnityWebPla
yer及UnityWebPla yerFull - 易语言QQTEA算法源码
- 易语言叮小当动态加密算法源码
- 易语言文本加密成数字源码
- 易语言RSA加解密源码
- 易语言RC4加密解密源码
评论
共有 条评论