HMT-Hidden-Markov-Contourlet
所属分类:matlab编程
开发工具:matlab
文件大小:2424KB
下载次数:269
上传日期:2010-06-12 15:36:06
上 传 者:
miemie79
说明: Contourlet变换中的隐马尔科夫树模型程序 Hidden Markov Tree model of Contourlet Transform ,一个Matlab实现的隐马尔科夫树模型,用于计算图像的Contourlet系数。程序同时还包括图像去噪、纹理恢复的应用模型。这些程序都是基于"Directional Multiscale Modeling of Images Using the Contourlet Transform" by D. D.-Y. Po and M. N. Do,这个文章的;
同时需要Minh N. Do的Contourlet工具箱,该工具箱可以从这里http://www.ifp.uiuc.edu/~minhdo/software/得到。
(Contourlet transform the hidden Markov model procedures for Hidden Markov Tree model of Contourlet Transform, a Matlab implementation of the Hidden Markov Tree Model, used to calculate the image Contourlet factor. Program also includes denoising, texture recovery application model. These procedures are based on the " Directional Multiscale Modeling of Images Using the Contourlet Transform" by DD-Y. Po and MN Do, this article also need Minh N. Do the Contourlet toolbox, the toolbox is available here http://www.ifp.uiuc.edu/ ~ minhdo/software/receive.)
文件列表:
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\contourlet.m (939, 2003-07-09)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\contourlet2tree.m (2164, 2003-07-08)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\contournc.m (1289, 2006-07-29)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\dump_pdfbimagemodel.m (507, 2003-07-10)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\dump_pdfbmodel_to_file.cc (1536, 2006-07-29)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\dump_pdfbmodel_to_file.mexa64 (226422, 2006-09-01)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\dump_pdfbmodel_to_file.mexglx (222031, 2006-09-01)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\dump_pdfbmodel_to_file.mexmac (843456, 2006-09-01)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\dump_pdfbmodel_to_file.mexsol (230008, 2006-09-01)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\dump_pdfbmodel_to_file.mexw32 (40960, 2006-09-01)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\generate_model.m (1447, 2002-11-16)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\load_pdfbimagemodel.m (1174, 2003-07-10)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\load_pdfbmodel_from_file.cc (1779, 2006-07-29)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\load_pdfbmodel_from_file.mexa64 (226651, 2006-09-01)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\load_pdfbmodel_from_file.mexglx (222076, 2006-09-01)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\load_pdfbmodel_from_file.mexmac (847604, 2006-09-01)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\load_pdfbmodel_from_file.mexsol (230196, 2006-09-01)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\load_pdfbmodel_from_file.mexw32 (40960, 2006-09-01)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\makenoise.m (1123, 2006-07-29)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\matrix.cc (4688, 2006-07-29)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\matrix.hh (704, 2006-07-29)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbcalc_imagekld.m (2900, 2003-07-10)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbcalc_KLD.cc (1736, 2006-09-01)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbcalc_KLD.mexa64 (238374, 2006-07-29)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbcalc_KLD.mexglx (239388, 2006-07-29)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbcalc_KLD.mexmac (855676, 2006-07-29)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbcalc_KLD.mexsol (246068, 2006-07-29)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbcalc_KLD.mexw32 (40960, 2006-09-01)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbclassify_texture.m (1931, 2003-07-10)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbcreate_equiv_models.m (814, 2002-12-05)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbdenoiseimage.m (4164, 2006-07-29)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbest_KLD.cc (1831, 2006-09-01)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbest_KLD.mexa64 (238373, 2006-07-29)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbest_KLD.mexglx (239451, 2006-07-29)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbest_KLD.mexmac (855676, 2006-07-29)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbest_KLD.mexsol (246100, 2006-07-29)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbest_KLD.mexw32 (49152, 2006-09-01)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbflip_model.m (1928, 2002-12-05)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbgentdata.m (572, 2003-07-10)
HMT-Hidden-Markov-Contourlet[1]\contourletHMT\pdfbgen_tdata.cc (2345, 2006-09-01)
... ...
Contourlet Hidden Markov Tree (HMT) toolbox (ver. 1.0)
Duncan D.-Y. Po, June 2003
This directory contains the MATLAB files that fit a hidden Markov tree model
to the contourlet coefficients of images. The files require the contourlet
Toolbox by Minh N. Do, which can be downloaded from here:
http://www.ifp.uiuc.edu/~minhdo/software/
In addition, the Image Processing Toolbox is also required.
Assumptions:
1. For all the functions, the image is assumed to be stored as 8-bit unsigned
integers (uint8).
2. For all the functions, the image is assumed to be square.
There are 4 main functions in this toolbox: train HMT model, denoise, texture
retrieval, and generate data according to HMT model.
1.) Training
file: pdfbtrainimagethmt (Pyramidal directional filter bank train image tied
hidden Markov tree)
This file trains an HMT model to fit an image. For example, if we have an
image 'lena.gif' in directory '/dir', then
[model, stateprob] = pdfbtrainimagethmt('/dir/lena', 'gif', '', 0.01)
trains an HMT model on that image to within an error in model parameter of 0.01
per tree. The resulting model is in the output 'model'. By default, this
file uses a contourlet transform with '9-7' pyramidal filter and 'pkva'
directional filter, decomposing the image to 4 scales with 4 directions in the
two coarser scales and 8 directions in the two finer scales. The HMT model
assumes the contourlet coefficients to be distributed between two states
and in each state the coefficients have a mean of zero. These attributes can
all be modified by modifying the first few lines of this file. The output
'stateprob' contains the probabilities for each coefficient to be in each of
the two states. This output is useful for denoising.
If we have an existing model 'mymodel' already in memory and we want to
start the training using this model, then we can use
[model, stateprob] = pdfbtrainimagethmt('/dir/lena', 'gif', 'mymodel', 0.01)
This can be used to speed up the training process, if the existing model is
available.
For other available pyramidal and directional filter names for the contourlet
transform, see functions dfilter and pfilters, respectively, in the
contourlet toolbox.
2.) Denoising
file: pdfbdenoiseimage (Pyramidal Directional Filter Bank Denoise Image)
This file takes in a noisy image and denoises the image based on a given HMT model
and an estimated noise power. For example, if we have an image noisylena.gif in
path /dir/, and estimate the noise power to be 0.01 (noise power is normalized to
lie between 0 and 1 always), then we can first train an HMT model on the image
(see (1) above) to obtain its model and stateprob. Then we can denoise the image
as follows
cleanimage = pdfbdenoiseimage( model, stateprob, 0.01, '', '/dir/noisylena', 'gif')
The output cleanimage contains the denoised image. By default, this file assumes
the HMT model is trained using the '9-7' pyramidal filter and the 'pkva'
directional filter. Other filters can be used by changing the first two lines
of this file.
3.) Texture Retrieval
file: pdfbclassify_texture (Pyramidal Directional Filter Bank Classify Texture)
This file takes a query texture image and search through a texture image database
to find the most similar texture images.
For example, we have a database of *** texture images in tdb:
tdb = {'texture1', 'texture2', ..., 'texture***'}
The image files of these textures (texture1.gif, texture2.gif, ..., texture***.gif)
are located in the path /tdir/. Suppose the HMT models of these *** textures are
already stored in the path /mdir/. Now we want to search through this database to find
the most similar textures to a texture65.gif. We can do this by
kld = pdfbclassify_texture('texture65', 'gif', tdb, '/tdir', '/mdir', 0)
Now suppose we don't have the HMT models of the database textures. We can still perform
texture retrieval and the program will train the HMT models for the database textures
and save them. Suppose we want to save the database texture HMT models in the directory
/mdir2/. Then
kld = pdfbclassify_texture('texture65', 'gif', tdb, '/tdir', '/mdir2', 1)
Note that the output kld is an array of Kublick-Liebler distance between the query
texture and every texture in the database in the order specified in tdb. i
4.) Generate Data
file: pdfbgentdata (Pyramidal Directional Filter Bank Generate Tree Data)
This file uses an existing model to generate random data in tree structure.
For example we have an HMT model 'hmtmodel' in memory and we want to generate a random
HMT with root level size of ***, then
tree = pdfbgentdata(hmtmodel, ***)
Notes:
There are also other utility files in this toolbox. Their usage can be found by
typing 'help ' in matlab prompt. They are:
contourlet.m
contourlet2tree.m
contournc.m
dump_pdfbimagemodel.m
generate_model.m
load_pdfbimagemodel.m
pdfbcalc_imagekld.m
pdfbcreate_equiv_models.m
pdfbflip_model.m
pdfbtestall_imagekld.m
pdfbtrainthmt.m
tree2contourlet.m
type3detransform.m
type3transform.m
type4detransform.m
type4transform.m
There are also several mex files that might need to be recompiled, depending on
the system. This can be easily done by typing on MATLAB command window
>> mex .cc pdfbthmt.cc tree.cc matrix.cc utils.cc
pdfbcalc_KLD
pdfbest_KLD
pdfbgen_tdata
pdfbprotrain_thmt
pdfbtrain_thmt
dump_pdfbmodel_to_file
load_pdfbmodel_from_file
近期下载者:
相关文件:
收藏者: