**Name**

**vpoint** Detect (MDL) maximal meaningful vanishing regions

**Command Synopsis**

**vpoint** [-a] [-m] [-v] [-e *eps*] [-s *csegs*] *imagein* *allsegs* *output* *.* *.*

-a : to get all meaningful v.points (before MDL)

-m : to get also masked v.points

-v : display verbose messages during computations

-eeps: -log10(max. number of false alarms), default 0

-scsegs: store segments indexes associated to each vanishing region (output Flists)

imagein: input image (only used to extract image domain)

allsegs: input segments (5xn)-Fimage (x1 y1 x2 y2 -log10(nfa))

output: detected vanishing regions: 9-Flist (x1 y1 x2 y2 x3 y3 x4 y4 -log10(nfa))

. (screen output) : number of detected vanishing regions

. (screen output) : number of detected masked vanishing regions

**Function Summary**

int vpoint (imagein , allsegs , output , segs , eps , all , masked , verbose , maskedVPs )

Fimage imagein ;

Fimage allsegs ;

Flist output ;

Flists segs ;

double *eps ;

char *all ;

char *masked ;

char *verbose ;

int *maskedVPs ;

**Description**

Given a set of *n* line segments (*allsegs*) that have been detected in the input image (usually by the `align_mdl`

module), this module searches for convex regions *V* in the image plane, which are met by the supporting lines of at least *k* among the total of *n* segments. The threshold *k* depends on the shape and location of *V* with respect to the image domain an is chosen in such a way that the expected number of occurrences (NFA) of the event ``at least *k* among *n* lines meet *V*'' is upper-bounded by 10^{-eps}, if we assume the a-contrario model that lines are independent and randomly distributed in the image plane, and such that *n* of them meet the image domain (see [ADV03], [Alm02]).

The regions *V* are chosen from a set of tilings of the image plane at a range of dyadic angular precisions (16,32,...,512). The module only detects maximal regions, *i.e.* regions *V*, such that for any other region *V'* in the set of tilings, if
*V'* *V* then we have
*NFA*(*V*) *NFA*(*V'*).

In order to avoid spurious vanishing regions that result from the accidental concurrence in the image plane of several sets of parallel lines in 3D, the exclusion principle (MDL) is applied (unless the -a option is specified), by constraining each line to count for a single region, namely the most meaningful region it meets.

Once all maximal meaningful regions were detected, if we remove the corresponding segments (thus decreasing *n*), then further regions may become meaningful. Option -m allows to compute such vanishing regions that were ``masked'' by the overwhelming amount of lines belonging to other vanishing regions.

The output of this module is best visualized one vanishing region at a time by `vpsegplot`

and `fkview`

.

**Version 1.0**

Last Modification date : Fri Apr 16 09:27:52 2004

**Author**

Andres Almansa