私はPythonを使ってopencvを書くとき、imreadメソッドを使ってイメージオブジェクトを取得しましたが、オブジェクトを使用しようとすると、メソッド。私はiPythonを使用するか確認するためにdir()
メソッドを使用して、この pycharmはオブジェクトのすべての属性とメソッドを表示していません
同様
、私は見ることができ、それ
私はPythonを使ってopencvを書くとき、imreadメソッドを使ってイメージオブジェクトを取得しましたが、オブジェクトを使用しようとすると、メソッド。私はiPythonを使用するか確認するためにdir()
メソッドを使用して、この pycharmはオブジェクトのすべての属性とメソッドを表示していません
同様
、私は見ることができ、それ
PyCharmはのタイプを推測できない場合にこの問題が発生しましたこの場合メソッドimread()
によって返されたオブジェクトいくつかのメソッドは、入力に基づいて異なるタイプのオブジェクトを返します。返される型が何であるかが明確でない理由を調べるには、opencvのソースコードを調べる必要があります。コードの静的解析により明らかなケースが検出されます。
IPythonはすでにこのメソッドを実行しているので、返された型は明らかです。
import cv2
import numpy
# I've checked with IPython that the returned object is a `numpy.ndarray` instance
img = cv2.imread('/home/me/Pictures/image.jpg') # type: numpy.ndarray
feautureがPEP 0484に説明されて表示されます。あなたはタイプが返さ知っていれば
一つの解決策は、このようなタイプのコメントを使用することです。
このPEPは、Python 3.5で導入されたことを示しています。 PyCharmが3.5よりも古いPythonバージョンでこの単純なケースを処理できるかもしれないが、私はチェックしていないかもしれない。
このPEPは古いPythonバージョンでは利用できないtyping
モジュールの機能を説明しているので、このドキュメントのほとんどの機能は動作しませんが、PyCharmが実際にtyping
モジュールを使用してタイプコメントを解析するかどうか、ネイティブに。
ありがとうございます!これは本当に私の問題を解決します。私が使用するPythonのバージョンは2.7です。あなたのメソッドはPycharmで実装できます – Xavier