PythonでOpenCVを使おうとしましたが、実行時に次のようなエラーが表示されます。原因がわからないので教えて下さい。
エラーメッセージ
Traceback (most recent call last):
File "camera.py", line 2, in <module>
import cv2, os
ImportError: /usr/lib/arm-linux-gnueabihf/libopencv_legacy.so.2.4: undefined symbol: _ZN2kv14Fernlassifmms4readEVKN?_8FileNodeE
【追記】ソースコードと各種バージョンは以下の通りです。
Python
1from datetime import datetime 2import cv2, os 3 4def main(): 5 6 current_dir = os.path.dirname(os.path.abspath(__file__)) + '/' 7 8 cam = cv2.VideoCapture(0) 9 if cam == None: 10 return False 11 12 while True: 13 _, img = cam.read() 14 15 shoot_time = datetime.now() 16 image_file = current_dir + shoot_time.strftime('%Y%m%d_%H%M%S%f') +'.jpg' 17 18 cv2.imwrite(image_file, img) 19 20 if cv2.waitKey(1) == 13: break 21 22 cam.release() 23 cv2.destroyAllWindows() 24 25if __name__ == '__main__': 26 main() 27
各種バージョン
$ apt search opencv | grep -e libopencv-dev -e python-opencv
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
libopencv-dev/oldstable,now 2.4.9.1+dfsg1-2 armhf [インストール済み]
python-opencv/oldstable,now 2.4.9.1+dfsg1-2 armhf [インストール済み]
$ python -V
Python 2.7.13
$ python3 -V
Python 3.5.3
$pip -V
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
pip 20.1.1 from /home/pi/.local/lib/python2.7/site-packages/pip (python 2.7)
$ pip3 -V
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
pip 20.1.1 from /home/pi/.local/lib/python3.5/site-packages/pip (python 3.5)
【追記2】
上記はPython2で実行しました。
上記の開発環境構築の手順は以下の通りです。
開発環境構築手順
$ apt -y install libopencv-dev python-opencv
$ pip install -U pip
また、Python3での実行を試みたところ、以下のエラーが出ました。
エラーメッセージPython3
Traceback (most recent call last):
File "camera.py", line 2, in <module>
import cv2, os
ImportError: No module named 'cv2'
長くなりましたが、何卒よろしくお願いします。
【追記3】
Python
1import cv2 2import os
に変更したところ
エラー
Traceback (most recent call last):
File "camera.py", line 2, in <module>
import cv2
ImportError: No module named 'cv2'
となりました。
回答4件
あなたの回答
tips
プレビュー