ClassesClassesClassesClasses | | | | Operators

topographic_sketchtopographic_sketchTopographicSketchtopographic_sketchTopographicSketchTopographicSketch (Operator)

Name

topographic_sketchtopographic_sketchTopographicSketchtopographic_sketchTopographicSketchTopographicSketch — Compute the topographic primal sketch of an image.

Signature

topographic_sketch(Image : Sketch : : )

Herror topographic_sketch(const Hobject Image, Hobject* Sketch)

Herror T_topographic_sketch(const Hobject Image, Hobject* Sketch)

Herror topographic_sketch(Hobject Image, Hobject* Sketch)

HImage HImage::TopographicSketch() const

HImageArray HImageArray::TopographicSketch() const

void TopographicSketch(const HObject& Image, HObject* Sketch)

HImage HImage::TopographicSketch() const

void HOperatorSetX.TopographicSketch(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*Sketch)

IHImageX* HImageX.TopographicSketch()

static void HOperatorSet.TopographicSketch(HObject image, out HObject sketch)

HImage HImage.TopographicSketch()

Description

topographic_sketchtopographic_sketchTopographicSketchtopographic_sketchTopographicSketchTopographicSketch computes the topographic primal sketch of the input image ImageImageImageImageImageimage. This is done by approximating the image locally by a bicubic polynomial (“facet model”). It serves to calculate the first and second partial derivatives of the image, and thus to classify the image into 11 classes. These classes are coded in the output image SketchSketchSketchSketchSketchsketch as numbers from 1 to 11. The classes are as follows:

Peak                  1
Pit                   2
Ridge                 3
Ravine                4
Saddle                5
Flat                  6
Hillside Slope        7
Hillside Convex       8
Hillside Concave      9
Hillside Saddle      10
Hillside Inflection  11

In order to obtain the separate classes as regions, a threshold operation has to be applied to the result image with the appropriate thresholds.

Parallelization

Parameters

ImageImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject (byte)

Image for which the topographic primal sketch is to be computed.

SketchSketchSketchSketchSketchsketch (output_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject * (byte)

Label image containing the 11 classes.

Example (HDevelop)

* To extract the Ridges from a Image
read_image(Image,'sinus')
topographic_sketch(Image,Sketch)
threshold(Sketch,Ridges,3,3)

Example (C)

/* To extract the Ridges from a Image */
read_image(&Image,"sinus");
topographic_sketch(Image,&Sketch);
threshold(Sketch,&Ridges,3.0,3.0);

Example (HDevelop)

* To extract the Ridges from a Image
read_image(Image,'sinus')
topographic_sketch(Image,Sketch)
threshold(Sketch,Ridges,3,3)

Example (HDevelop)

* To extract the Ridges from a Image
read_image(Image,'sinus')
topographic_sketch(Image,Sketch)
threshold(Sketch,Ridges,3,3)

Example (HDevelop)

* To extract the Ridges from a Image
read_image(Image,'sinus')
topographic_sketch(Image,Sketch)
threshold(Sketch,Ridges,3,3)

Example (HDevelop)

* To extract the Ridges from a Image
read_image(Image,'sinus')
topographic_sketch(Image,Sketch)
threshold(Sketch,Ridges,3,3)

Complexity

Let n be the number of pixels in the image. Then O(n) operations are performed.

Result

topographic_sketchtopographic_sketchTopographicSketchtopographic_sketchTopographicSketchTopographicSketch returns 2 (H_MSG_TRUE) if all parameters are correct. If the input is empty the behavior can be set via set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). If necessary, an exception is raised.

Possible Successors

thresholdthresholdThresholdthresholdThresholdThreshold

References

R. Haralick, L. Shapiro: “Computer and Robot Vision, Volume I”; Reading, Massachusetts, Addison-Wesley; 1992; Kapitel 8.13.

Module

Foundation


ClassesClassesClassesClasses | | | | Operators