Skip to content

PetterS/RegionCurv

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


*********
As of November 28 2013, RegionCurv is DISCONTINUED.
The main author has permanently left academic research. He may react to e-mails
*********

This project generates four executables:

- lpseg.debug.L64 : a program for unsupervised region-based
segmentation with length and curvature regularity. The data terms are
squared differences of intensities and specified mean values. 

- interactiveseg.debug.L64 : this is the same kind of segmentation
 problem, but this time seed nodes for foreground and background are
 given. From these, histograms are generated, their logarithms serve
 as data terms. 

- lpinpaint.debug.L64 : this program employs the same
 formalism to the problem of image inpainting. It supports gray-level
 and color images. Color images are transformed to YUV first, then
 each channel is inpainted separately.

- curvdenoise.debug.L64 : denoising of images with curvature and length
 priors.

To get a list of available options, call the programs without any options.

In all cases, the underlying default optimization scheme relies on a standard
LP-solver. You will have to download Cbc from www.coin-or.org. We recommend to
download Cbc from the same project line, which includes these packages.

Optionally, you can also use the commercial solvers Gurobi, FICO
Xpress and ILOG Cplex. In this case, please add -DHAS_GUROBI,
-DHAS_XPRESS and/or -DHAS_CPLEX to your compiler flags.

Furthermore, you will need to download the General Polygon Clipper
library from http://www.cs.man.ac.uk/~toby/alan/software/ .

For image segmentation, you have the option to use message passing instead of
standard LP solvers. This was developed in close collaboration with Vladimir 
Kolmogorov.

Optionally, you can download the packages QPBO (by Vladimir Kolmogorov) and
HOCR (by Hiroshi Ishikawa). These are needed for QPBO-based routines.

********** INSTALLATION **********

For Linux users: a sample Makefile has been included, but you will most likely
need to modify it. In particular, you will need to set the location of your
Cbc installation. And if you do not want to use QPBO and HOCR you will have to
outcomment some lines.

For Windows users: there is a Visual Studio configuration file in the
subdirectory project/


*********** DEPENDENCIES *********

** mandatory: 

- Coin-OR Cbc  https://projects.coin-or.org/Cbc
- GPC (UManchester) http://www.cs.man.ac.uk/~toby/alan/software/ 


** optional toolkits:

- QPBO by Vladimir Kolmogorov  http://pub.ist.ac.at/~vnk/software/QPBO-v1.3.src.tar.gz 
- HOCR by Hiroshi Ishikawa  http://www.f.waseda.jp/hfs/HOCR1.02.zip

** optional LP-solvers (in no particular order)

- Gurobi          http://www.gurobi.com/
- FICO XPress     http://www.fico.com/en/Products/DMTools/Pages/FICO-Xpress-Optimization-Suite.aspx
- IBM ILOG CPLEX  http://www-01.ibm.com/software/commerce/optimization/cplex-optimizer/


you can use the provided script download_thirdparty.sh to get the most common
dependencies, except for Cbc.

************ CREDITS ********** 

See file CREDITS

************ DOCUMENTATION *********

See file doc/SegIntro.txt

************ Tested Platforms ***********

This software has been successfully tested in the following environments:

- 64 Bit SuSE Linux, g++ 4.5.0 - 4.7.2
- Microsoft Windows 7 64 with Microsoft Visual Studio 2010 (64 Bit)

About

Tools for 2D curvature segmentation, inpainting and denoising

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 100.0%