当前位置:网站首页>Mise en œuvre du codage Huffman et du décodage avec interface graphique par MATLAB
Mise en œuvre du codage Huffman et du décodage avec interface graphique par MATLAB
2022-07-07 11:49:00 【MATLAB Research Studio】
1 Introduction
InmatlabSimulation moyenneCListe des chaînes moyennes,En utilisant des opérations complexes,Contactez les caractères et les probabilités spécifiques,Le numéro correspondant à deux caractères de la probabilité minimale trouvée à chaque fois,Notez dans l'ordre,Enfin, selon les différentes implémentations du Code de paritéHuffmanCodage.Cet algorithme est nouveau et unique,Facile à comprendre,Programmation.
2 Code partiel
function varargout = huffman_GUI(varargin)% HUFFMAN_GUI M-file for huffman_GUI.fig% HUFFMAN_GUI, by itself, creates a new HUFFMAN_GUI or raises the existing% singleton*.%% H = HUFFMAN_GUI returns the handle to a new HUFFMAN_GUI or the handle to% the existing singleton*.%% HUFFMAN_GUI('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in HUFFMAN_GUI.M with the given input arguments.%% HUFFMAN_GUI('Property','Value',...) creates a new HUFFMAN_GUI or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before huffman_GUI_OpeningFunction gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to huffman_GUI_OpeningFcn via varargin.%% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help huffman_GUI% Last Modified by GUIDE v2.5 10-Jan-2014 18:20:43% Begin initialization code - DO NOT EDITgui_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});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before huffman_GUI is made visible.function huffman_GUI_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to huffman_GUI (see VARARGIN)% Choose default command line output for huffman_GUIhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes huffman_GUI wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.function varargout = huffman_GUI_OutputFcn(hObject, eventdata, handles)% varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;% --- Executes during object creation, after setting all properties.function xylj_CreateFcn(hObject, eventdata, handles)% hObject handle to xylj (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));endfunction xylj_Callback(hObject, eventdata, handles)% hObject handle to xylj (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of xylj as text% str2double(get(hObject,'String')) returns contents of xylj as a double% --- Executes on button press in dqxy.function dqxy_Callback(hObject, eventdata, handles)% hObject handle to dqxy (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)[Filename Pathname]=uigetfile({'*.txt'},'Veuillez sélectionner un fichier'); % Sélectionnez la fonction de la zone de fichierstr=[Pathname Filename]; % Obtenir le chemin et le nom du fichierxinyuan=textread(str,'%s'); %Sous forme de chaîne, Lire dans un fichier textexinyuan=xinyuan{:}; %Oui.cell Les données de type sont converties en charset(handles.xylj,'string',str) % Afficher le chemin de la sourceset(handles.xy,'string',xinyuan) % Afficher la source% --- Executes during object creation, after setting all properties.function xy_CreateFcn(hObject, eventdata, handles)% hObject handle to xy (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));endfunction xy_Callback(hObject, eventdata, handles)% hObject handle to xy (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of xy as text% str2double(get(hObject,'String')) returns contents of xy as a double% --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% --- Executes on button press in bm.function bm_Callback(hObject, eventdata, handles)% hObject handle to bm (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)clc; %Effacercommand windowdata=get(handles.xy,'String'); % Lire la sourcedata=uint8(data); % Convertir la source en uint8[codeword_OK,simbolsout1,fout1,simbolsout2,fout2,zipped,info] = norm2huff(data); %Codage%Avant le trifor i=1:length(fout1)fout1str{i}=num2str(fout1(i)); % Convertir la probabilité avant le tri en cellDonnées de type,PratiquelistboxUtiliserstr1{i}=char(simbolsout1(i)-1); % Convertir les symboles avant le tri en cellDonnées de type,PratiquelistboxUtiliser,charOui.ASCIICode à caractèreendhandles.str1=str1; % Obtenez les symboles de pré - trihandles.fout1str=fout1str; % Obtenir la probabilité de pré - tri%Après trifor i=1:length(fout2)str2{i}=char(simbolsout2(i)-1); % Convertir les symboles triés en cellDonnées de type,PratiquelistboxUtiliser,charOui.ASCIICode à caractèreendhandles.str2=str2; % Obtenir les symboles triés% Obtenir le Codefor i=1:length(codeword_OK)codestr{i}=num2str(double(codeword_OK{i}));codestr{i}=codestr{i}(find(codestr{i}~=' ')); % Supprimer les espaces dans la chaîne , Obtenir le Code Hoffmanendhandles.codestr=codestr; % Enregistrer le Code Hoffmanhandles.zipped=zipped; % Enregistrer les résultats encodéshandles.info=info;guidata(hObject, handles); %Mise à jourhandlesStructure% --- Executes on button press in myzl.function myzl_Callback(hObject, eventdata, handles)% hObject handle to myzl (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)set(handles.xsmyzl,'Value',1)set(handles.xsmyzl,'String',handles.str1);% --- Executes during object creation, after setting all properties.function xsmyzl_CreateFcn(hObject, eventdata, handles)% hObject handle to xsmyzl (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: listbox controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));end% --- Executes on selection change in xsmyzl.function xsmyzl_Callback(hObject, eventdata, handles)% hObject handle to xsmyzl (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: contents = get(hObject,'String') returns xsmyzl contents as cell array% contents{get(hObject,'Value')} returns selected item from xsmyzlerror('input argument must be a uint8 vector')end%f=repmat(0,1,256);% Scan Vectorlen=length(vector);for index=0:255; % Notez que le paramètre Index du vecteur est de 0Au débutf(index+1)=sum(vector==uint8(index));end%
3 Résultats de la simulation

4 Références
[1] Wu Ji - Qun , Li shuangke . MatlabRéalisationhuffmanCodage[J]. Information scientifique et technologique en Chine, 2006(19):2.
Profil du blogueur:Bon algorithme d'optimisation intelligent、Prédiction du réseau neuronal、Traitement des signaux、Automates cellulaires、Traitement d'images、Planification des itinéraires、Dans de nombreux domaines tels que les dronesMatlabSimulation,AutresmatlabLes problèmes de code peuvent être échangés par courrier privé.
Une partie de la théorie cite la littérature en ligne,Si un blogueur de contact contrefait supprime.
边栏推荐
- Briefly introduce closures and some application scenarios
- Learning notes | data Xiaobai uses dataease to make a large data screen
- 對比學習之 Unsupervised Learning of Visual Features by Contrasting Cluster Assignments
- 【全栈计划 —— 编程语言之C#】基础入门知识一文懂
- Electron adding SQLite database
- 【最短路】Acwing1128信使:floyd最短路
- audit 移植
- Flet教程之 17 Card卡片组件 基础入门(教程含源码)
- STM32入门开发 采用IIC硬件时序读写AT24C08(EEPROM)
- Stm32f1 and stm32subeide programming example -max7219 drives 8-bit 7-segment nixie tube (based on SPI)
猜你喜欢

Suggestions on one-stop development of testing life

Swiftui swift internal skill how to perform automatic trigonometric function calculation in swift
![Verilog design responder [with source code]](/img/91/6359a2f3fa0045b4a88956a475488c.png)
Verilog design responder [with source code]

對比學習之 Unsupervised Learning of Visual Features by Contrasting Cluster Assignments

Some opinions and code implementation of Siou loss: more powerful learning for bounding box regression zhora gevorgyan

【最短路】ACwing 1127. 香甜的黄油(堆优化的dijsktra或spfa)

Programming examples of stm32f1 and stm32subeide -315m super regenerative wireless remote control module drive

【紋理特征提取】基於matlab局部二值模式LBP圖像紋理特征提取【含Matlab源碼 1931期】

What development models did you know during the interview? Just read this one

聊聊SOC启动(十一) 内核初始化
随机推荐
Camera calibration (1): basic principles of monocular camera calibration and Zhang Zhengyou calibration
Enclosed please find. Net Maui's latest learning resources
STM32 entry development uses IIC hardware timing to read and write AT24C08 (EEPROM)
electron 添加 SQLite 数据库
‘module‘ object is not callable错误
聊聊SOC启动(十一) 内核初始化
VIM command mode and input mode switching
Verilog realizes nixie tube display driver [with source code]
R語言使用magick包的image_mosaic函數和image_flatten函數把多張圖片堆疊在一起形成堆疊組合圖像(Stack layers on top of each other)
[texture feature extraction] LBP image texture feature extraction based on MATLAB local binary mode [including Matlab source code 1931]
How to write test cases for test coupons?
Drive HC based on de2115 development board_ SR04 ultrasonic ranging module [source code attached]
Android 面试知识点
audit 移植
R语言使用quantile函数计算评分值的分位数(20%、40%、60%、80%)、使用逻辑操作符将对应的分位区间(quantile)编码为分类值生成新的字段、strsplit函数将学生的名和姓拆分
Flet教程之 16 Tabs 选项卡控件 基础入门(教程含源码)
[shortest circuit] acwing 1127 Sweet butter (heap optimized dijsktra or SPFA)
Qt 实现容器的DELETE的方式
聊聊SOC启动(九) 为uboot 添加新的board
Swiftui tutorial how to realize automatic scrolling function in 2 seconds