用MATLAB做的基于霍夫曼编码的图像压缩,里面有个文件时专门的霍夫曼编码函数,自己写的。 用MATLAB做的基于霍夫曼编码的图像压缩,里面有个文件时专门的霍夫曼编码函数,自己写的。
1
本设计以matlab为工具利用数字图像处理技术对答题卡进行了识别,并对识别结果进行了处理。注意到答题卡在采集图像的过程中由于各种原因可能会产生图像倾斜、水平或垂直错位,要进行正确识别首先必须对其进行校正,再依据像素检索技术进行识别。有标准答案,统计分数,判断及格与否。
1
一个完整的系统应具有以下功能: (l)I:初始化 (Initialization)。从终端读入字符集大小 n,及 n 个字符和 m 个权值,建立哈夫曼树,并将它存于文件 hfmtree 中。 (2)C:编码 (Coding)。利用已建好的哈夫曼树(如不在内存,则从文件 hfmtree 中读入),对文件 tobetrans 中的正文进行编码,然后将结果存入文件 codefile 中。 (3)D:解码(Decoding)。利用已建好的哈夫曼树将文件 codefile 中的代码进行译码,结果存入文件 textfile 中。 (4)P:打印代码文件 (Print)。将文件 codefile 以紧凑格式显示在终端上,每行 50 个代码。同时将此字符形式的编码文件写入文件 codeprint 中。 (5)T:打印哈夫曼树 (Tree printing)。将已在内存中的哈夫曼树以直观的方式 (树或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件 treeprint 中。 txt文件自建
2021-03-08 15:03:23 7KB java 数据结构
1
随着科技的发展,电子与计算机技术的进步,答题卡的出现大大减轻教学工作者们批改试卷的工作量。答题卡是光标阅读机输入信息的载体,是配套光标阅读机的各种信息录入表格的总称。 答题卡将用户需要的信息转化为可选择的选项,供用户涂写。OMR是用光学扫描的方法来识别按一定格式印刷或书写的标记,并将其转换为计算机能接受的电信号的设备,并根据信息点的涂与未涂和格式文件设置将信息还原。因此,如何将答题卡填涂的黑色区域识别出来并使用计算机进行处理是极为关键的。本论文探索了有效识别答题卡的方法,以matlab为工具,基于数字图像处理技术对答题卡填涂区域进行了识别,并对识别的结果进行了处理,得到了结果。本论文利用Hough变换的直线检测技术检测图像的倾斜度,判断图像是否倾斜,对存在倾斜的图像进行旋转校正。最终实现答题卡答案的定位和检测。论文使用像素统计方法进行识别,利用黑白颜色灰度值的巨大差异对二值图像的灰度值进行累加并进行阈值判定,识别错误效率极低,能够准确的识别答题卡的涂卡标记。MATLAB答题卡识别系统
1
第五次数据结构实验,霍夫曼编码译码器,很简单的dos见面。
2020-01-03 11:41:40 163KB 数据结构 霍夫曼 编码 译码
1
MATLAB霍夫曼Huffman编码译码GUI界面设计 部分源码 gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @huffman_GUI_OpeningFcn, ... 'gui_OutputFcn', @huffman_GUI_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin & isstr(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end
2020-01-03 11:25:42 13KB MATLAB 霍夫曼 Huffman
1
用C++实现的Huffman编码 能计算墒,平均码长,
2020-01-03 11:23:52 2KB huffman C++
1
霍夫曼编码及香农编码:信源编码主要可分为无失真信源编码和限失真信源编码。无失真信源编码主要适用于离散信源或数字信号,如文本、表格及工程图纸等信源,它们要求进行无失真地数据压缩,要求完全能够无失真地可逆恢复。凡是能载荷一定的信息量,且码字的平均长度最短,可分离的变长码的码字集合称为最佳变长码,为此必须将概率大的信息符号编以短的码字,概率小的符号编以长的码字,是的平均码字长度最短,能得到最佳的编码方法主要有:香农,费诺,霍夫曼编码等,实现至少两种无失真信源编码(香农码,哈夫曼码、费诺码)及其编码效率。
2020-01-03 11:23:14 90KB 霍夫曼编码,香农编码
1
huff是无损压缩,绝对可用的哈夫曼编解码,本程序附带图像数据处理试验 结果 原始数据与编码后解码后的数据结果完全相同。
2019-12-21 22:15:52 33KB huff 霍夫曼 哈夫曼 编解码
1
自适应霍夫曼编码的C++版本简单实现 class AdaptiveTree { public: AdaptiveTree(int rootNum); AdaptiveTree(int rootNum, string str); void swap(int first, int second); // swap two nodes of the tree void initalCode(); // initializing the data string char2code(unsigned char letter); // locate the character in the tree with its corresponding binary string and return the string string char2binary(unsigned char letter); // translating the character to the 8-bit binary string unsigned char binary2char(string bin); // translating the binary string: bin to the corresponding character int spawn(unsigned char letter); // add a new character to the original tree void updateTree(unsigned char newchar); // update the tree int highestInBlock(int count); // return the highest node to be exchanged void setString(string str); // string decodingStr() const; void encoding(); string decoding(); unsigned char code2char(string bincode); static int size(); string binStr() const; // return the binary string of string: tempString private: void run(); int findchar(unsigned char letter ); // locate the letter in the tree string tempString; //temp string to be encoded needed to be stored here string deStr;// used for storing the decoding string string bin; // used for storing the result of encoding process /* Adaptive Tree data members */ HuffmanTree *tree; int root; /* Adaptive Tree constants */ static int ALPH_SIZE; // size of the alphabet static unsigned char none; // not a unsigned character static unsigned char NYT; // Not Yet transmitted code };
2019-12-21 22:14:32 3KB adaptive Huffman Coding 自适应
1