Open3D icon indicating copy to clipboard operation
Open3D copied to clipboard

Some functions of Open3D cannot be used, such as mesh_box.paint_uniform_color

Open easyboot opened this issue 1 year ago • 3 comments

Checklist

Steps to reproduce the issue

Some functions cannot be used

Open3D, Python and System information

- Operating system: Windows 10 64-bit
- Python version: Python 3.8 / output from `import sys; print(sys.version)`
- Open3D version: output from python: `print(open3d.__version__)`
- System architecture: x86  
- Is this a remote workstation?: yes or no
- How did you install Open3D?: pip
- Compiler version (if built from source): gcc 7.5 / clang 7.0

Additional information

image

image

I reinstalled open3D=0.18 and encountered some issues where some features were not working, and there were no errors. But after commenting it out, it can run normally mesh_box.paint_uniform_color([0.9, 0.1, 0.1])

easyboot avatar Jun 25 '24 01:06 easyboot

I also have the same issue (unable to use paint_uniform_color (and therefore any function that relies on it). However, I'm on Linux with Python 3.11.

mprat avatar Sep 03 '24 15:09 mprat

Same issue here, any temporary workaround for this issue? I am specifically unable to use: paint_uniform_color and o3d.geometry.AxisAlignedBoundingBox(min_bound=bbox.min_bound, max_bound=bbox.max_bound)

I found that I had to downgrade numpy (I tried 1.26.0) and it worked for me. I don't know why it doesn't work with numpy 2.1.0, but the downgrade fixed it.

mprat avatar Sep 03 '24 15:09 mprat

i also had this issue with paint_uniform_color, installing the latest dev pip solve it.

pip install -U -f https://www.open3d.org/docs/latest/getting_started.html --only-binary open3d open3d

i tested using

import open3d as o3d
import numpy as np
import traceback
import sys

def main():
    try:
        print(f"Python version: {sys.version}")
        print(f"Open3D version: {o3d.__version__}")

        # Create a simple point cloud
        pcd = o3d.geometry.PointCloud()
        pcd.points = o3d.utility.Vector3dVector(np.random.rand(1000, 3))
        
        print("Point cloud created")
        print(f"Number of points: {len(pcd.points)}")

        # Attempt to paint the point cloud
        print("Attempting to paint the point cloud...")
        color = [1, 0, 0]  # Red color
        pcd.paint_uniform_color(color)
        print("Point cloud painted successfully")

        print(f"Has colors after painting: {pcd.has_colors()}")

        # Visualize the point cloud
        print("Opening visualization window...")
        o3d.visualization.draw_geometries([pcd])
        print("Visualization window closed")

    except Exception as e:
        print(f"An error occurred: {str(e)}")
        print("Full traceback:")
        print(traceback.format_exc())

if __name__ == "__main__":
    print("Script started")
    main()
    print("Script ended")

5shekel avatar Oct 10 '24 17:10 5shekel

The same issue was met a week ago. Windows 11 pro+ miniconda-env+python310+numpy2.xx+open3d_latest. paint_uniform_color did not work.

Solution:according to @5shekel , downgrade numpy to 1.26.x, then everything work fine. Thanks to @5shekel Have a good day to everyone.

Albertxg avatar Dec 23 '24 10:12 Albertxg