首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python: TypeError: draw_geometries():不兼容的函数参数

Python: TypeError: draw_geometries():不兼容的函数参数
EN

Stack Overflow用户
提问于 2022-10-22 07:16:19
回答 1查看 149关注 0票数 1

我正在尝试实现一个Open3D模型,以便从单目深度图生成点云。

提到这个YouTube视频- https://youtu.be/teHGdlGhQZo

OpenCV == 4.4.0

Open3D == 0.15.1

BGR图像- 640x480x3

深度图像- 640x480x3

密码-

代码语言:javascript
复制
import open3d as o3d
import numpy as np
import matplotlib.pyplot as plt
import os 
import sys
import cv2
import open3d_tutorial as o3dtut
o3dtut.interactive = not "CI" in os.environ

color_raw = o3d.io.read_image('colorImg.jpg')
depth_raw = o3d.io.read_image('depthImg2.png')

rgbd_image = o3d.geometry.RGBDImage.create_from_color_and_depth(color_raw,depth_raw)
print(rgbd_image)
camera_intrinsic = o3d.camera.PinholeCameraIntrinsic(
        o3d.camera.PinholeCameraIntrinsicParameters.PrimeSenseDefault)

pcd = o3d.geometry.PointCloud.create_from_rgbd_image(rgbd_image, camera_intrinsic)
pcd.transform([[1, 0, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]])
o3d.visualization.draw_geometries([pcd], zoom=0.5)

错误信息-

代码语言:javascript
复制
TypeError                                 Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_18872/3179634559.py in <module>
      1 pcd.transform([[1, 0, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]])
----> 2 o3d.visualization.draw_geometries([pcd], zoom=0.5)

TypeError: draw_geometries(): incompatible function arguments. The following argument types are supported:
    1. (geometry_list: List[open3d.cpu.pybind.geometry.Geometry], window_name: str = 'Open3D', width: int = 1920, height: int = 1080, left: int = 50, top: int = 50, point_show_normal: bool = False, mesh_show_wireframe: bool = False, mesh_show_back_face: bool = False) -> None
    2. (geometry_list: List[open3d.cpu.pybind.geometry.Geometry], window_name: str = 'Open3D', width: int = 1920, height: int = 1080, left: int = 50, top: int = 50, point_show_normal: bool = False, mesh_show_wireframe: bool = False, mesh_show_back_face: bool = False, lookat: numpy.ndarray[numpy.float64[3, 1]], up: numpy.ndarray[numpy.float64[3, 1]], front: numpy.ndarray[numpy.float64[3, 1]], zoom: float) -> None

Invoked with: [PointCloud with 306097 points.]; kwargs: zoom=0.5

已经试过了-

尝试将Open3D版本从0.16 -> 0.15更改为

试着抽动图像的尺寸。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-22 07:28:08

移除缩放参数,只需检查draw_geometries当前不支持该参数。删除它,您的代码就会正常工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74161738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档