Individual Tree Segmentation Algorithm
This functions is made to be used in segment_trees. It implements an algorithm for tree
segmentation based on the Li et al. (2012) article (see reference). This method is a growing region
method working at the point cloud level. It is an implementation, as strict as possible, made by
the lidR
author but with the addition of a parameter hmin
to prevent over-segmentation
for objects that are too low.
li2012(dt1 = 1.5, dt2 = 2, R = 2, Zu = 15, hmin = 2, speed_up = 10)
dt1 |
numeric. Threshold number 1. See reference page 79 in Li et al. (2012). Default is 1.5. |
dt2 |
numeric. Threshold number 2. See reference page 79 in Li et al. (2012). Default is 2. |
R |
numeric. Search radius. See page 79 in Li et al. (2012). Default is 2. If |
Zu |
numeric. If point elevation is greater than Zu, |
hmin |
numeric. Minimum height of a detected tree. Default is 2. |
speed_up |
numeric. Maximum radius of a crown. Any value greater than a crown is good because this parameter does not affect the result. However, it greatly affects the computation speed. The lower the value, the faster the method. Default is 10. |
Li, W., Guo, Q., Jakubowski, M. K., & Kelly, M. (2012). A new method for segmenting individual trees from the lidar point cloud. Photogrammetric Engineering & Remote Sensing, 78(1), 75-84.
Other individual tree segmentation algorithms:
dalponte2016()
,
silva2016()
,
watershed()
LASfile <- system.file("extdata", "MixedConifer.laz", package="lidR") las <- readLAS(LASfile, select = "xyz", filter = "-drop_z_below 0") col <- pastel.colors(200) las <- segment_trees(las, li2012(dt1 = 1.4)) #plot(las, color = "treeID", colorPalette = col)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.