I've been struggling with this for the past few days. I want to create a DEM of a flood control area, which is covered in low/intermediate-height vegetation (pioneers and reed mostly). The point cloud data with x, y and z comes from airborne LiDAR and I've been able to load it into QGIS by conversion and translation and managed to create a DSM. 

From false-colored images, I know the locations where the vegetation is present. Is there a way to get an actual DEM of the area by removing the low/intermediate-vegetation? My aim is to obtain a DEM to analyze the flooding area, so an increase in the accuracy of the elevation data would be very useful. 

Part of the headerless .txt file LIDAR; so x coord, y coord and z coord / elevation; 

    147675.500 210500.500 10.15
    etc Ln 1805277, Col 1 (Notepad)

This is how the DTM looks after I've loaded the text file via Raster>Conversion>Translation and used a IDW-interpolation:

[![enter image description here][1]][1]

This is de CIR image from the area, showing the vegetation cover:

[![enter image description here][2]][2]

I thought when using LASTools I could extract the bare ground, so first I've used `txt2las` to convert the .txt file to a .las file. When running the `lasinfo` on this newly created .las file, this is what I get: 

    reporting all LAS header entries: 
    file signature: 'LASF' 
    file source ID: 0 
    global_encoding: 0 
    project ID GUID data 1-4: 00000000-0000-0000-0000-000000000000 
    version major.minor: 1.2 
    system identifier: 'LAStools (c) by rapidlasso GmbH' 
    generating software: 'txt2las (version 200101)' 
    file creation day/year: 70/2021 
    header size: 227 
    offset to point data: 321 
    number var. length records: 1 
    point data format: 0 
    point data record length: 20 
    number of point records: 1805276 
    number of points by return: 1805276 0 0 0 0 
    scale factor x y z: 10 10 10 
    offset x y z: 0 0 0 
    min x y z: 147680 210500 -10 
    max x y z: 150000 213000 20 
    variable length header record 1 of 1: 
    reserved 0 
    user ID 'LASF_Projection' 
    record ID 34735 
    length after header 40 
    description 'by LAStools of rapidlasso GmbH' 
    GeoKeyDirectoryTag version 1.1.0 number of keys 4 
    key 1024 tiff_tag_location 0 count 1 value_offset 1 - GTModelTypeGeoKey: ModelTypeProjected 
    key 3072 tiff_tag_location 0 count 1 value_offset 31370 - ProjectedCSTypeGeoKey: Belge 1972 / Belgian Lambert 72 
    key 3076 tiff_tag_location 0 count 1 value_offset 9001 - ProjLinearUnitsGeoKey: Linear_Meter 
    key 4099 tiff_tag_location 0 count 1 value_offset 9001 - VerticalUnitsGeoKey: Linear_Meter 
    reporting minimum and maximum for all LAS point record entries ... 
    X 14768 15000 
    Y 21050 21300 
    Z -1 2 
    intensity 0 0 
    return_number 1 1 
    number_of_returns 1 1 
    edge_of_flight_line 0 0 
    scan_direction_flag 0 0 
    classification 0 0 
    scan_angle_rank 0 0 
    user_data 0 0 
    point_source_ID 0 0 
    number of first returns: 1805276 
    number of intermediate returns: 0 
    number of last returns: 1805276 
    number of single returns: 1805276 
    overview over number of returns of given pulse: 1805276 0 0 0 0 0 0 
    histogram of classification of points: 
    1805276 never classified (0) 

So none of the points is classified as anything. 

I use QGIS 3.16 and the LiDAR data I received is in headerless .txt format. I've tried LAStools and converted the LiDAR .txt into .las, but the `las2dem` is not giving an output file and says:

> WARNING: unlicensed. over 1.5 million points. inserting black diagonal.  
> ERROR: cannot find triangle in first 10000 points. 

As you can probably tell, I'm very much a beginner in QGIS.

  [1]: https://i.sstatic.net/nDI7d.png
  [2]: https://i.sstatic.net/U79IC.png