This might be a fairly simple question, but I'm new to eCognition. I'm using Developer 10.2. For canopy that overlaps rooftops, I need to define these areas as separate objects and classify as canopy.

I am using NAIP 4-band imagery and a lidar-derived height band. I developed a ruleset for classifying an invasive species. First, I created a Vegetation class based on NDVI automatic threshold, then from that class, created a Canopy subclass based on the lidar height band (height > 2 m). However, there are some buildings with high NDVI values that are misclassified as Canopy. The yellow outline in the image below is a Structures vector layer, some parts of which are misclassified as Canopy. Structures outlined in yellow, misclassified as Canopy

From the Structures vector file, I originally created a Structures class using vector-based segmentation (class filter: Canopy) and assign class by thematic layer. This was fine where no canopy overlapped the roof: Classification of structures based on vector file/thematic layer

...but had the effect of clipping off the overlying canopy and classifying that as Structure: Canopy misclassified as Structure

Canopy misclassified as Structure

Overlapping tree canopy is discussed by Jarlath O'Neil-Dunne in the eCognition Webinar "Data Fusion Approaches to Tree Canopy Change Detection" (at 24:50). Screenshot of webinar; magenta is the canopy overlapping the rooftops

He says he "used the buildings on the sublevel" to find the overlapping tree canopy. Then the relative border to algorithm was used to reclassify those overlapping objects. This is what I need to accomplish, but I'm having trouble navigating the levels. Because I segmented my Canopy class to create the Structures class, these objects don't overlap. How do I define those overlapping instances as Canopy using the Structures class on a sublevel?

1 Answer 1


I did find a workaround:

Nearly all roofs misclassified as canopy are blue, with values of B > ~120. I removed the step of classifying buildings based on the vector layer entirely, then added an algorithm to pull out misclassified roofs from the segmented canopy by classifying Blue > 120 as "potential structure". It's not perfect, but it is better.

Before: Before

After (B>120):After (B>120)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.