🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
OpenCV

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

MacOS(OSX)

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

Python

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

Q&A

解決済

1回答

2580閲覧

OpenCVで画像を表示することができない

PJwnOI

総合スコア39

OpenCV

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

MacOS(OSX)

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

Python

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

0グッド

0クリップ

投稿2021/01/12 02:17

編集2021/01/12 06:00

前提・実現したいこと

画像を読み込み,ただ表示させるだけのプログラムを実行しましたが,ウィンドウが表示されず,プログラムが終了しません.

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

Pythonのソフトが立ち上がりますが,一切ウィンドウが表示されず,強制終了しないと動作が止まりません.
また,cv2がインストールされていないことはありません.実行はできています.

指摘していただいた通りにコードを追加したところ,以下の出力が出ました.

terminal

1namae@/Users/namae/desktop/file 14:54:45 $ Python3 hoge.py 2(360, 640, 3) 3/Users/namae/Desktop/file

lsコマンドを実行した結果も掲載します.

terminal

1namae@/Users/namae/desktop/file 14:52:40 $ ls 2haarcascades movie_grayscale.mp4 video04.mp4 3hoge.py photo.jpg video05.mp4 4main.py video01.mp4 video06.mp4 5movie.mp4 video02.mp4 6movie_color.mp4 video03.mp4

ちなみにですが,cv2.VideoCaptureを使い,カメラを表示させようともしましたが,同じ挙動をしてダメでしたので,imshowがダメなのはわかりますが,調べても出てきません.

該当のソースコード

Python

1import cv2 2import os 3 4img = cv2.imread("./photo.jpg") 5print(img.shape) 6 7print(os.getcwd()) 8 9cv2.imshow("photo",img) 10 11cv2.waitKey() 12cv2.destroyAllWindows()

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

macOS Big Sur 11.1
Python 3.9.0
opencv 4.4.0

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

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

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

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

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

jbpb0

2021/01/12 02:39

img = cv2.imread(... のすぐ下で print(img.shape) を実行したら、画像のサイズ(画素数)がちゃんと表示されますか? もし表示されなければ、ちゃんと画像ファイルを読めてません ・ファイル名が合ってるか? ・画像の置き場所は合ってるか? あたりを確認してください
Daregada

2021/01/12 03:46

実行時のカレントディレクトリのフルパスを書いてくださいな。 コードに「import os」と「print(os.getcwd(())」を追加すると表示できます。
PJwnOI

2021/01/12 06:47

おそらく同じ現象ですね. macOS Big Surが悪いのかはわかりませんが,Catalinaの時には正しく動作していたので,しばらく待つしかなさそうですかね?
jbpb0

2021/01/12 07:36

現状で何かしてみるとしたら、 ・OpenCVを古いのに変えてみる ・Pythonのバージョンを下げる くらいですね(期待薄ですが)
jbpb0

2021/01/12 07:53 編集

https://stackoverflow.com/questions/64838511/opencv-imshow-crashes-python-launcher-on-macos-11-0-1-big-sur に、 pip install opencv-python-headless を入れたら直った、と書かれてます ダメもとでやってみたら、いかがでしょうか? もしやる場合は、今入ってるのを pip uninstall... で削除してから、入れてください 順番が逆だと、必要なものが削除されて、おかしくなります 【追記】上記Webページに pip install opencv-python opencv-python-headless で直ったと書いてる人がいますが、それはやってはダメです opencvなんとかを複数入れると、おかしくなることがあります 同時に入れていいのはどれか一つだけです 別のに変える場合は、先に今入ってるのを削除してから、別のを入れます
jbpb0

2021/01/12 08:31 編集

1/2に4.5.1.48が出てますけど、それ入れてもダメですか? https://github.com/skvark/opencv-python/issues/376 を見ると、この現象にQtが関係してるみたいなんですけど、 「The most recent release (4.5.1.48) drops Qt support on macOS.」 と書かれてるので、もしかしたら直るかも 【追記】 https://github.com/skvark/opencv-python/issues/423 「The most recent release (4.5.1.48) drops Qt support on macOS and should fix this issue.」 やっぱり、直ってるかも
Daregada

2021/01/12 08:21

「namae」のところに日本語の文字が入っているかと予想していたんですが、違いましたね。
PJwnOI

2021/01/12 12:00

jbpb0さん pip install opencv-python-headlessを実行してから,プログラムを実行したら解決しました! ありがとうございます!
jbpb0

2021/01/12 14:37 編集

opencv-python-headless をアンインストールして、普通のをインストールしたら、再びエラーになりますかね? 最新版(4.5.1.48)なら、普通のでも直ってるんじゃないかと思うのですが
guest

回答1

0

自己解決

pip install opencv-python-headlessを実行すると解決した

投稿2021/01/12 12:01

PJwnOI

総合スコア39

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問