How to measure canopy heights with a drone and free software: A quick easy guide!

Years ago when I needed to estimate tree heights, the method was… fairly basic.

  • Tape up a straight stick in 50cm intervals.
  • Stand next to the tree with it.
  • Measure a distance far enough away from the tree until you can see it and the person holding the stick clearly
  • Take a photo.
  • Try estimate the height using trig later.

It worked (sort of)… but it wasn’t exactly precise.

Fast forward a few years and drones have changed the game quite a bit. During a recent workflow demo I put together, I showed how a standard drone photogrammetry survey can be used to calculate actual canopy heights. And just to be clear, this isn’t using LiDAR or specialised sensors. It’s done with a normal off-the-shelf RGB drone and standard photogrammetry.

  • No ultra-expensive sensors.
  • No heavy-lift drones.
  • Just good image overlap and solid processing.

The process is surprisingly simple:

First, separate the ground points from vegetation using the Cloth Simulation Filter in CloudCompare.

From that you generate a DTM (ground model). Then subtract that ground surface from the DSM produced by the drone survey. What you end up with is essentially a canopy height model.

From there you can use tools in QGIS (like zonal statistics) to calculate the height of individual trees or vegetation clusters. Suddenly that drone map becomes a measurement tool.

This kind of workflow can be useful for things like:

  •  monitoring invasive vegetation
  • estimating biomass
  • mapping vegetation structure
  • identifying unusually tall individuals or dense clusters

What I like about it most is that it can all be done with open-source tools like CloudCompare and QGIS, and with standard RGB drone data that many conservation projects are already collecting. No specialised sensors required. Just a drone, some good overlap in the images, and a bit of processing.

I am curious if anyone else here is using photogrammetry-derived canopy height models in conservation projects, and how well they compare with field measurements or LiDAR in your experience?

🎥 Short demo below