Skip to content

allow usage of multi-channel images #584

@maurerle

Description

@maurerle

I had the following issue in texrecon when creating a texture for a multi-channel image:

[INFO]    running "/code/SuperBuild/install/bin/texrecon" "/datasets/images_proc/opensfm/undistorted/reconstruction.nvm" "/datasets/images_proc/odm_meshing/odm_mesh.ply" "/datasets/images_proc/odm_texturing/odm_textured_model_geo" -d gmi -o gauss_clamping -t none --no_intermediate_results     --num_threads=20 --max_texture_size=8192 
/code/SuperBuild/install/bin/texrecon (built on Jan 13 2026, 15:22:35)
Load and prepare mesh: 
Reading PLY: 195369 verts... 390760 faces... done.
Generating texture views: 
NVM: Loading file...
NVM: Number of views: 9
NVM: Number of features: 8485

                                                                                
	Loading 100%... done. (Took 0.084s)
Building adjacency graph: 

                                                                                
	Adding edges 100%... done. (Took 0.379s)
	586136 total edges.
View selection:
	Building BVH from 390760 faces... done. (Took: 148 ms)
terminate called after throwing an instance of 'std::invalid_argument'
  what():  Image must be RGB or RGBA
Aborted

This seems to come from:
https://github.com/NeoGeographyToolkit/mve/blob/9f90a016420344bd0bda85b70dfdc8d395409cdc/libs/mve/image_tools.h#L1350

I did not yet find the texrecon script, but would like to ask if it is possible to drop the other channels from the texture to only process the texture from the first 3 RGB channels.

Otherwise the calling methods (OpenDroneMap) should drop the additional channels earlier before the reco.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions