Skip to content

o3d.io.read_triangle_mesh #3917

@hernot

Description

@hernot

IMPORTANT: Please use the following template to report the bug.

Before submitting:

  1. Search for similar issues.
  2. For Python issues, please test with the latest development wheel. It may be already fixed!

Describe the bug
A clear and concise description of what the bug is.

After loading *.obj file which has just one texture image 0_0.png

object_path = 3.obj
mesh = o3d.io.read_triangle_mesh(mesh_path)

a call to mesh.has_textures() returns False. Calling len(mesh.textures) returns a length of 2. Checking the two images it appears that the first image is an empty image where mesh.textures[0].is_empty() returns True whereas the mesh.textures[1] stores the actual texture image.

To Reproduce
see above

Expected behavior
The call to mesh.has_textures() should return true and len(mesh.textures) should return 1 and mesh.textures[0].is_empty() should return False.

The following can be used as workarround for now:

print(mesh.has_textures()) # -> False
if len(mesh.textures) > 1:
  mesh.textures = [ img for img in mesh.textures if not img.is_empty()]
print(mesh.has_textures()) # -> True if has one or more valid texture images otherwise False

**Screenshots**
not applicable 

**Environment (please complete the following information):**

- Operating system: Mint 19 (e.g. Ubuntu 19.04)
- Python version: Python 3.6
- Open3D version: 0.13. and latest development from above
- Is this remote workstation?: no
- How did you install Open3D?: pip 
- Compiler version (if built from source): wheel

**Additional context**

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions