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

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

新規登録して質問してみよう
ただいま回答率
85.48%
import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Python

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

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

Q&A

解決済

2回答

17204閲覧

PythonでOpenCVが使用できないAttributeError:

Bunyan

総合スコア2

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Python

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

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

0グッド

0クリップ

投稿2020/10/11 09:53

編集2020/10/11 23:56

前提・実現したいこと

Pythonをインストールしたばかりの初心者です。
至らぬ点が多々ございますが、よろしくお願いいたします。

GitHubから利用したい画像認識プログラムhttps://github.com/fgosc/fgogachacntのインストールを行う際に、ターミナルにて$ python makecard.py実行でエラーが発生いたしました。

発生している問題・エラーメッセージ

Traceback (most recent call last): File "makecard.py", line 10, in <module> import cv2 File "/Users/ユーザ名/.pyenv/versions/3.8.6/lib/python3.8/site-packages/cv2/__init__.py", line 5, in <module> from .cv2 import * ImportError: dlopen(/Users/ユーザ名/.pyenv/versions/3.8.6/lib/python3.8/site-packages/cv2/cv2.cpython-38-darwin.so, 2): Symbol not found: _inflateValidate Referenced from: /Users/ユーザ名/.pyenv/versions/3.8.6/lib/python3.8/site-packages/cv2/.dylibs/libpng16.16.dylib (which was built for Mac OS X 10.13) Expected in: /usr/lib/libz.1.dylib in /Users/ユーザ名/.pyenv/versions/3.8.6/lib/python3.8/site-packages/cv2/.dylibs/libpng16.16.dylib

試したこと

「opencv-contribが必要」「opencv-pythonとopencv-contrib-pythonを同時にインストールしてはいけない」という記述がヒットしましたので、
opencvをインストール後、アンインストールし、opencv-contrib-pythonをインストールし直そうとすると、すでにインストール済みとの表示が出ました。
$ pip install opencv-python
$ pip uninstall opencv-python

$ pip install opencv-contrib-python

Requirement already satisfied: opencv-contrib-python in ./.pyenv/versions/3.8.6/lib/python3.8/site-packages (4.3.0.36) Requirement already satisfied: numpy>=1.17.3 in ./.pyenv/versions/3.8.6/lib/python3.8/site-packages (from opencv-contrib-python) (1.19.2)

バージョンを確認すると下記のエラーが発生します。

$ python >>> import cv2 >>> cv2.__version__ Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: module 'cv2' has no attribute '__version__'

$ python makecard.pyの実行も初期エラーから下記のように変化しております。

Traceback (most recent call last): File "makecard.py", line 66, in <module> main() File "makecard.py", line 54, in main hog = cv2.HOGDescriptor(win_size, block_size, block_stride, cell_size, bins) AttributeError: module 'cv2' has no attribute 'HOGDescriptor'

Python2.Xのモジュールを参照していると発生するエラーについての記事を読みましたが、おそらく原因は異なるような気がいたします。
$brew doctorwarning:は一つずつ対処法を調べ消しましたが、やはりsite-packages directory関連のメッセージは出ていませんでした。

他に修正すべき点はございますでしょうか?

###追記

$ pip show opencv-python WARNING: Package(s) not found: opencv-python $ pip show opencv-contrib-python Name: opencv-contrib-python Version: 4.3.0.36 Summary: Wrapper package for OpenCV python bindings. Home-page: https://github.com/skvark/opencv-python Author: None Author-email: None License: MIT Location: /Users/ユーザ名/.pyenv/versions/3.8.6/lib/python3.8/site-packages Requires: numpy Required-by:

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

homebrewをインストール
pyenvをインストール
Python3.8.6をインストール
pipを20.2.3にアップグレード

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

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

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

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

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

toast-uz

2020/10/11 23:25

pip show opencv-python pip show opencv-contrib-python を確認してください できれば、pyenv virtualenv で新規仮想環境を作って、ライブラリを最初からインストールしてみてください。
guest

回答2

0

ベストアンサー

opencv-contribe-pythonをアンインストールして、opencvが両方消えた状態にして、再度opencv-contribe-pythonだけをインストールしてみてください。原因不明ですか、私の環境で、両方インストールしている状態からopencv-pythonだけをアンインストールすると、質問者様と同じエラーが出ます。

その際、両方アンインストール状態にしたあと、改めてopencv-contribe-pythonだけをインストールすると、エラーが解消されます。

参考 公式「https://pypi.org/project/opencv-contrib-python/」においても、
If you installed multiple different packages in the same environment, uninstall them all with pip uninstall and reinstall only one package.
意訳「複数種類をインストールしちゃったら、一度全てをアンインストールしてから、どれか1つだけを再インストールしてね」
と書かれています。

投稿2020/10/12 10:13

編集2020/10/12 13:36
toast-uz

総合スコア3266

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

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

Bunyan

2020/10/12 13:34

再現までしていただき、ご助言心より感謝いたします。 open-contribe-pythonをアンインストール後、再インストールし、pip showで確認を行いました。 再びpythonでimport cv2を実行すると、最初のImportError:の状態に戻ってしまいました…。 あるはずなのに見つけられないと言われている感じでしょうか。 時間がかかるかもしれませんが、仮想環境について勉強してみます。
toast-uz

2020/10/12 14:25

難関ですね。お役に立てずすみません。個人的にはpyenv+virtualenvではなくvenvをオススメします。公式なので。
Bunyan

2020/10/12 15:08

とんでもないです。インストールした覚えのないopencv-contribe-pythonをアンインストールして良いのか不安だったため、コメントがなければ解決できませんでした。 お力添えいただきありがとうございました。
guest

0

OSXのバージョンが古く対応していないのかもしれないという英語の記事がヒットしました。
opencv-contrib-pythonのバージョンを4.3.0.36から3.4.8.29へ下げることで、ひとまず動くようになりました。
3.4.9.31以降でも動くかもしれませんが、とりあえず現状で古いバージョンを試しました。

$ pip uninstall opencv-contrib-python
$ pip install opencv-contrib-python==

ERROR: Could not find a version that satisfies the requirement opencv-contrib-python== (from versions: 3.4.8.29, 3.4.9.31, 3.4.9.33, 3.4.10.35, 4.1.2.30, 4.2.0.32, 4.2.0.34, 4.3.0.36) ERROR: No matching distribution found for opencv-contrib-python==

$ pip install opencv-contrib-python==3.4.8.29

$ python >>> import cv2 >>> cv2.__version__ '3.4.8'

投稿2020/10/12 14:55

編集2020/10/12 15:55
Bunyan

総合スコア2

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

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

technocore

2020/10/12 15:10

>OSXのバージョンが古く対応していないのかもしれない OSXを最新にする予定は無いのでしょうか? 私のMacは macOS Catalina 10.15.7 Homebrew 2.5.5-33-ge30ed42 pyenv 1.2.21 Python 3.8.5 $ pip list | grep cv opencv-python 4.4.0.44 ですが、普通にOpenCVは使えています。 $ python Python 3.8.5 (default, Oct 3 2020, 10:39:10) [Clang 12.0.0 (clang-1200.0.32.2)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> cv2.__version__ '4.4.0'
Bunyan

2020/10/12 15:43

すみません、Macが古いために最新OSXの対応機種ではないという理由です。 iPad Proで足りる場面も多く買い換えが進まずにおりましたが、まずOSアップデートするべきでした。 買い換えの際には参考にさせていただきます。 貴重な情報ありがとうございます。
technocore

2020/10/12 21:50

Macの機種は何でしょうか?
Bunyan

2020/10/13 02:37 編集

iMac (27-inch, Mid 2011) 2.7 GHz Intel Core i5 12 GB 1333 MHz DDR3 です。 少し調べたところiPad Pro (第3世代) でもPythonのアプリ等が利用できそうです。
Bunyan

2020/10/13 03:01

リンクありがとうございます。 はい、さすがにサポート対象外の機種では原因不明のエラーが出るのも無理はないですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問