isl-org / isl-org/Open3D

It returns the different dimension for the function ClusterConnectedTriangles inside the latest version (0.15), which differs with the version 0.13

Open
#5,506 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C++
Stars
14k
Forks
2.6k
Avg merge
5d 18h
Merged PRs (30d)
6

Description

### Checklist

- [X] I have searched for [similar issues](https://github.com/isl-org/Open3D/issues).
- [X] For Python issues, I have tested with the [latest development wheel](http://www.open3d.org/docs/latest/getting_started.html#development-version-pip).
- [X] I have checked the [release documentation](http://www.open3d.org/docs/release/) and the [latest documentation](http://www.open3d.org/docs/latest/) (for `master` branch).

### Describe the issue

Now i build the latest source code from github, and used ClusterConnectedTriangles(python cluster_connected_triangles) with .obj mesh, which returns the different dimension for the verctor of triangle_clusters(the first member of the returned tuple) and the vector of cluster_n_triangles(the second member of the returned tuple), but it returns the same dimension for the two vector(triangle_clusters and cluster_n_triangles) for the open3d version 0.13, so ,

Has this behavior of the function ClusterConnectedTriangles changed? or just a bug.

Regards

### Steps to reproduce the bug

```python
>>> import numpy as np
>>> import open3d as o3d

>>> mesh = o3d.io.read_triangle_mesh("/home/xxx.obj")
>>> triangle_clusters, cluster_n_triangles, cluster_area = (mesh.cluster_connected_triangles())
>>> np_triangle_clusters = np.asarray(triangle_clusters)
>>> np_cluster_n_triangles = np.asarray(cluster_n_triangles)
>>> np_cluster_n_triangles.size
6686
>>> np_triangle_clusters.size
1717802
>>>
>>> mesh.vertices
std::vector with 869074 elements.
Use numpy.asarray() to access data.
>>> mesh.triangles
std::vector with 1717802 elements.
Use numpy.asarray() to access data.

And the c++ function also the same behavior.
```

### Error message

>>> np_cluster_n_triangles.size
6686
>>> np_triangle_clusters.size
1717802
>>>
>>> mesh.vertices
std::vector with 869074 elements.
Use numpy.asarray() to access data.
>>> mesh.triangles
std::vector with 1717802 elements.
Use numpy.asarray() to access data.

### Expected behavior

The vectors of the returned tuple should be the same dimension.

### Open3D, Python and System information

```markdown
- Operating system: Ubuntu 20.04
- Python version: Python 3.8
- Open3D version: '0.15.2+e1c485b4'
- System architecture: x86
- Is this a remote workstation?: no
- How did you install Open3D?: build from source
- Compiler version (if built from source): gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
```

### Additional information

The c++/python inter both had that behavior.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.