Software
|
Important:
you must have some of
MATLAB’s
toolbox to run the programs above. I think that they require
optimization,
signal processing, wavelets and maybe image processing toolboxes.
Image
denoising and
enhancement:
jung_scharc_jei01.zip
–
files related to the paper
“Wavelet-based
method for image filtering using scale-space continuity”.
Instructions:
unzip the
.dll
file into a directory (some
MATLAB’s toolboxes are required).
Usage: y =
jung_scharc_jei01(x,N,alpha);
Here, x denotes a
grayscale image, N is the
number of scales used for denoising, and alpha is 1
x 2 array containing the parameters α1
and α2,
used
for determining the
transition band (optional,
default is alpha=[0.2 1.2]);
Example: (using the file
house_noisy.jpg provided in the zip file)
x =
imread(‘house_noisy.jpg’);
y =
jung_scharc_jei01(x,3,[0.4 1.4]);
scharc_jung_tip02.zip
–
files related to the paper
“Adaptive
Image Denoising Using Scale and Space Consistency”.
Instructions:
unzip the .dll
and the .m files into a directory (some MATLAB’s toolboxes
are required).
Usage:
y =
scharc_jung_tip02(x,N);
Here,
x denotes a grayscale image, and N is the number of scales used for
denoising.
Example: (using the file
house_noisy.jpg
provided in the zip file)
x =
imread(‘house_noisy.jpg’);
y = scharc_jung_tip02(x,3);
jung_scharc_prl03.zip
–
files related to the paper
“Adaptive
Adaptive image denoising and edge enhancement in scale-space using the
wavelet
transform.”.
Instructions:
unzip the .dll
and the .m files into a directory (some MATLAB’s toolboxes
are required).
Usage:
y = jung_scharc_prl03
(x,N,enh,gamma);
Here,
x denotes a grayscale image, N is the number of scales used for
denoising, enh
is a 1 x N array containing the enhancement
factors βj
(optional), and
gamma is the γ parameter used for consistency across scales
(optional,
default is gamma=0.3).
Example: (using the file
house_noisy.jpg provided in the zip file)
x =
imread(‘house_noisy.jpg’);
y = jung_scharc_prl03
(x,3,[1 2 1.2]);
dermato_enhance_jstsp09.zip
– files related to the paper “Dermatological Color
Images in the Wavelet
Domain”.
Instructions:
unzip the all
files into a directory (some MATLAB’s toolboxes are
required).
Usage: y = dermato_enhance_jstsp09(x,N,kappa);
Here, N is the number of
scales used for
enhancement, and kappa is a 1 x N vector containing the enhancemente
factors
for each scale.
Example:
x =
imread('img_crop051.jpg');
y = dermato_enhance_jstsp09(x,2,[1.2 1.0]);
Grayscale
Image segmentation
segwave_sib03.zip
– files
related to the paper
“Multiscale Image
Segmentation Using Wavelets and Watersheds”.
Instructions:
unzip the .dll
and the sample image into a directory (some MATLAB’s
toolboxes are required).
Usage:
y = segwave_sib03
(x,N,Tmerge);
Here,
x denotes a grayscale image, N is the number of scales used for
segmentation,
and Tmerge is contrast threshold used for region merging (optional,
default is
Tmerge=0).
Example: (using the file
house_noisy.jpg provided in the zip file)
x =
imread(‘house_noisy.jpg’);
y = segwave_sib03(x,2);
seg_imavis05.zip
– files related
to the paper “Robust Watershed Segmentation Using
Wavelets”.
Instructions:
unzip the all
files into a directory (some MATLAB’s toolboxes are required,
MATLAB 7
required).
Usage:
[y,w,enh]=seg_imavis05(x,J,post,T_max);
Here, x is the input
grayscale image (uint8
array with dimensions m x n), J is the number of scales used in the
wavelet
decomposition, T is the area threshold used in post-processing
(optional,
default = 0, meaning no post-processing), and beta_max controls the
amount of
enhancement in the pre-processing stage (optional, default = 7). y
is the piecewise constant segmented image,
w (optional) is the original image with segmentation boundaries
overlaid, and
enh (optional) is the pre-processed enhanced image.
Example:
[y,w,enh]=seg_imavis05(x0,2);
seglevel_imavis07.zip
–
files related to the paper “Wavelets
and Watersheds for Robust Multiscale Image
Segmentation”.
Instructions:
unzip the all
files into a directory (some MATLAB’s toolboxes are
required).
Usage:
[y,w]=seglevel_imavis07(x,J,Tc);
Here, x is the input
grayscale image (uint8
array with dimensions m x n), J is the number of scales used in the
wavelet
decomposition, and Tc is the threshold used for region merging
(optional,
default = 0, meanin no post-processing).
y is the piecewise constant
segmented image, and w (optional) is the
original image with segmentation boundaries overlaid.
Example:
[y,w]=seglevel_imavis07(x,2,15);
Color
Image segmentation
waveseg_color_prl07.zip
– files
related to the paper “Unsupervised Multiscale Segmentation of
Color Images”.
Instructions:
unzip the all
files into a directory (some MATLAB’s toolboxes are
required).
Usage: y =
waveseg_color_prl07(x,J,Tc);
Here, x is the input
color image (uint8 array
with dimensions m x n x 3), J is the number of scales used in the
wavelet
decomposition (optional, default according to paper), Tc is the
threshold used
for region merging (optional, default = 10), and y is the piecewise
constant
segmented image
Example:
y = waveseg_color_prl07(x);
Background Subtraction with Shadow Removal
camera_foreground_tm09.zip
– files related to the paper “Efficient Background
Subtraction and Shadow Removal for Monochromatic Video Sequences. IEEE
Transactions on Multimedia”.
Instructions: unzip the all
files into a directory (some MATLAB’s toolboxes are required).
Usage: First build the
background model using
[w,msd,k,st]=camera_background_tm09(nframes);
Here, nframes is the number of frames.
Obs: the user must write a function
x = get_image(i) that loads the i-th image from the video
sequence to an array x
Then, run
back
= camera_foreground_tm09(nframes,w,st,k);
to
obtain a stack of binary images containing the foreground pixels for
the range of frames defined in variable nframes
Rectangle/Parallelogram
Detection
hough_rectangle.zip
– files
related to the paper “Rectangle Detection based on a Windowed
Hough Transform”.
Instructions:
unzip the all
files into a directory (some MATLAB’s toolboxes are
required).
Usage: [rectangles, centers] =
detect_rectangles_paa(img, RMin, RMax, amax);
Here, img is a binary
(edge image), RMin and
RMax are the internal and external radii of the ring-like window, and
amax is
the largest expected value
for the
minumim side of all rectangles (I guess this parameter is not described
in the
original paper, but setting it to RMax should work).
Example:
load ex_aerial_paper
[rectangles, centers] =
detect_rectangles_paa(bw, RMin, RMax, RMax);
Note:
code
is really
messy, comments in portuguese
find_parallelogram.zip
–
files related to the paper “Parallelogram Detection Using the
Tiled Hough
Transform”.
Instructions:
unzip the all
files into a directory (some MATLAB’s toolboxes are
required).
Usage: [paralelo, alfa,
lpicos,til] =
tile_parallelogram2(img,s_tile,RMin,angulo),
Here, img is a binary (edge
image), s_tile
is a 1 x 2 vector containig the sizes of the tiles, RMin is the minimum
radius
(as described in the paper),
and angulo
(optional) is the angle of parallelograms to be detected.
Example:
load book2_paper
[paralelo, alfa, lpicos,til]
=
tile_parallelogram2(bw,s_tile,RMin);
Note:
code
is really
messy, comments in portuguese
Pedestrian tracking
Please go to Gustavo
Fuhr's research page for more details, videos, and MATLAB code (C++
will be available soon).
Main page | Publications | Research |