.pyファイル形式で【VideoCapture】を実行したい
動画解析のためOpenCVを用いています。
今回、下記該当コードを実行したところ、Pythonのコンソール画面に手入力をすると問題なく作動するのですが、.pyファイル形式で実行したところ、下のようなエラーが出てしまいました。
調べてはみたもののエラーの原因が分からず、困っています。
お詳しい方、ご卓見を頂戴できればと思います。よろしくお願いします。
(追記)
エラーが出るときの操作は、以下二つです。
- コマンドプロンプトに「***.py」と打ち込む
- ダイアログボックス内にある「***.py」をダブルクリックで実行(この場合はエラー画面は出ず、一瞬だけコンソールが立ち上がって消える)
発生している問題・エラーメッセージ
Exception in Tkinter callback Traceback (most recent call last): File "C:\Users\photronYAppData\Local\Programs\Python\Python38-32\lib\tkinter\__init__.py", line 1883, in __call__ return self.func(*args) File C:***\Python***.py", line 141, in btn_click cap = cv2.VideoCapture(t) AttributeError: module 'cv2' has no attribute 'VideoCapture' #btn_click という関数の中で動画キャプチャを用いています
該当のソースコード
python
1import cv2 2 3t = r"C:***\Python\sample.avi" #「***」は任意のディレクトリです 4cap = cv2.VideoCapture(t) 5 6
補足情報(FW/ツールのバージョンなど)
Python 3.7.4
OpenCV 4.1.2
質問本文にエラーの全文(Traceback)を記載ください。
ご覧いただき、ありがとうございます
ご指摘の通り、質問本文を修正します
もしかして実行している「***.py」の実際のファイル名を「cv2.py」にしていませんか?
また、そうでない場合は回答でのコメント「コンソール画面に同じように手動入力した際には、問題なく動いています」とのことなので、その旨(エラーが発生する場合の実行手順も)を質問本文に追記・記載ください。
色々と考えてくださって、ありがとうございます
ファイル名は「cv2」ではありません
ご指摘の件、もう一度本文に追記しておきます
あともうひとつ。複数のPython環境がインストールされていないでしょうか?
質問本文には「Python 3.7.4」とありますが、エラーメッセージ中には「Python38-32」とあるので
正常/エラーでPython実行環境が異なっている可能性が高いです。
その場合は、各環境の詳細(Python、OpenCVバージョンなど)も記載するとよいかと思います。
ご指摘ありがとうございます
確認してみたところ、Python38-32フォルダ内に「python.exe」が存在しており、バージョンを調べてみると3.8.0版でした
今回のエラーは、これが原因かもしれません
とりあえず、3.8.0をアンインストールしてみようと思います!(少し触ってみたところ、アンインストールに際しても厄介な問題が出てきそうなので、別個の質問として後日投稿するつもりです)
このまま回答欄のほうに書きこんでくだされば、そのままベストアンサーに選ばせていただきます
なるほど。了解しました。
3.8.0アンインストール→エラー解消した後でよいので、自己回答して閉じてもらってかまいません。
承知しました
丁寧に教えていただき、ありがとうございました!
回答1件
あなたの回答
tips
プレビュー