質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

open3d

open3dは、3Dデータ処理を行うオープンソースライブラリです。C++とPythonの両方のフロントエンドを提供。少ないコードでビルドが早く、導入も容易に行えます。RGBD画像処理が可能で、シーンを再構築できる機能なども備えています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

960閲覧

VScodeでopen3dの入力補完を有効にしたい

Melo3611

総合スコア3

Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

open3d

open3dは、3Dデータ処理を行うオープンソースライブラリです。C++とPythonの両方のフロントエンドを提供。少ないコードでビルドが早く、導入も容易に行えます。RGBD画像処理が可能で、シーンを再構築できる機能なども備えています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2023/07/10 01:20

実現したいこと

pythonライブラリ「open3D」を利用したプログラムを作るにあたってVScodeのライブラリ補完を有効にしたいができないので解決したいです。

前提

研究活動の過程でopen3Dを使いたいと思っています。

pipでのインストールは済んでおり、以下のプログラムは(https://self-development.info/%E3%80%90python%E3%80%913d%E3%83%87%E3%83%BC%E3%82%BF%E5%87%A6%E7%90%86%E3%82%92%E8%A1%8C%E3%81%86open3d%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/)
の流れで動かしたもので、ちゃんと動作しました。

しかしながら、
"visualization" はモジュール "open3d" の既知のメンバーではありません
と問題が表示されますし、何より他のプログラムを書くときに不便そうなのでライブラリを認識させてあげたいです。

python

1import open3d as o3d 2import random 3 4NUM_LINES = 10 5 6 7def random_point(): 8 return [5 * random.random(), 5 * random.random(), 5 * random.random()] 9 10 11def main(): 12 pts = [random_point() for _ in range(0, 2 * NUM_LINES)] 13 line_indices = [[2 * i, 2 * i + 1] for i in range(0, NUM_LINES)] 14 colors = [[0.0, 0.0, 0.0] for _ in range(0, NUM_LINES)] 15 16 lines = o3d.geometry.LineSet() 17 lines.points = o3d.utility.Vector3dVector(pts) 18 lines.lines = o3d.utility.Vector2iVector(line_indices) 19 # The default color of the lines is white, which will be invisible on the 20 # default white background. So we either need to set the color of the lines 21 # or the base_color of the material. 22 lines.colors = o3d.utility.Vector3dVector(colors) 23 24 # Some platforms do not require OpenGL implementations to support wide lines, 25 # so the renderer requires a custom shader to implement this: "unlitLine". 26 # The line_width field is only used by this shader; all other shaders ignore 27 # it. 28 mat = o3d.visualization.rendering.MaterialRecord() 29 mat.shader = "unlitLine" 30 mat.line_width = 10 # note that this is scaled with respect to pixels, 31 # so will give different results depending on the 32 # scaling values of your system 33 o3d.visualization.draw({ 34 "name": "lines", 35 "geometry": lines, 36 "material": mat 37 }) 38 39 40if __name__ == "__main__": 41 main()

試したこと

ライブラリ補完機能の有効化ということで調べてみると、setting.jsonを変更するとよい旨があったので以下のようにしています。

setting.json

1{ 2 "python.linting.mypyEnabled": true, 3 "python.analysis.typeCheckingMode": "basic", 4 "workbench.startupEditor": "none", 5 "[python]": { 6 "editor.formatOnType": true, 7 "editor.wordBasedSuggestions": true 8 }, 9 "launch": { 10 "configurations": [], 11 "compounds": [] 12 }, 13 "editor.snippetSuggestions": "top", 14 "editor.suggest.showKeywords": false, 15 "python.linting.enabled": true, 16 "python.languageServer": "Pylance", 17 "python.analysis.completeFunctionParens": true, 18 "python.analysis.extraPaths": [ 19 "${workspaceFolder}\\venv\\lib\\site-packages" 20 ], 21 "python.autoComplete.extraPaths": [ 22 "${workspaceFolder}\\venv\\lib\\site-packages" 23 ], 24}

「前提」に載せたのと同じ仮想環境内にあるファイルの話ですが、これでosやnumpyは認識してくれて補完するようになりました。
ただ、o3dの後ろの字は白いままで問題も消えません。

どうすればよいでしょうか。

補足情報(FW/ツールのバージョンなど)

python3.9.13,open3D 0.17.0を使用しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Open3Dのgituhubのissueに同様の問題のものがあり、未解決になっています。

https://github.com/isl-org/Open3D/issues/4347

OpenCVなどもそうですが、実体がCなどて作られていて薄いpythonのwrapperて包まれているものはどうようの問題があるようです。

投稿2023/07/10 02:13

TakaiY

総合スコア12783

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Melo3611

2023/07/10 03:02

なるほど… リンクにPyCharmでやっている方がいたので僕も試してみようと思います。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問