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

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

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

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

Q&A

解決済

1回答

832閲覧

OpneCVでのエラー

gymgym

総合スコア97

Python

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

0グッド

0クリップ

投稿2018/03/19 03:18

編集2018/03/19 05:04

前提・実現したいこと

画像を2値化したいと考えています。

ここに質問の内容を詳しく書いてください。
(例)PythonのOpenCVを用いた肌色検出

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

matplotlib再インストールによるエラーの変更

2018-03-19 13:56:43.428 python[17715:588600] -[QNSApplication _setup:]: unrecognized selector sent to instance 0x11d8f8400 2018-03-19 13:56:43.479 python[17715:588600] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[QNSApplication _setup:]: unrecognized selector sent to instance 0x11d8f8400' *** First throw call stack: ( 0 CoreFoundation 0x000000010010933b __exceptionPreprocess + 171 1 libobjc.A.dylib 0x0000000100d5a942 objc_exception_throw + 48 2 CoreFoundation 0x00000001001a05e4 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132 3 CoreFoundation 0x0000000100080f03 ___forwarding___ + 1443 4 CoreFoundation 0x00000001000808d8 _CF_forwarding_prep_0 + 120 5 Tk 0x000000011e038328 TkpInit + 467 6 Tk 0x000000011dfb7262 Tk_Init + 1710 7 _tkinter.so 0x000000011de95144 Tcl_AppInit + 84 8 _tkinter.so 0x000000011de94e39 _tkinter_create + 1129 9 libpython3.5m.dylib 0x000000010079bf38 PyCFunction_Call + 280 10 libpython3.5m.dylib 0x00000001008092df PyEval_EvalFrameEx + 22431 11 libpython3.5m.dylib 0x000000010080d0c3 _PyEval_EvalCodeWithName + 1779 12 libpython3.5m.dylib 0x0000000100803b1e PyEval_EvalCodeEx + 78 13 libpython3.5m.dylib 0x000000010078030f function_call + 351 14 libpython3.5m.dylib 0x000000010075bd73 PyObject_Call + 99 15 libpython3.5m.dylib 0x000000010076d30d method_call + 141 16 libpython3.5m.dylib 0x000000010075bd73 PyObject_Call + 99 17 libpython3.5m.dylib 0x00000001007b1add slot_tp_init + 125 18 libpython3.5m.dylib 0x00000001007ae329 type_call + 281 19 libpython3.5m.dylib 0x000000010075bd73 PyObject_Call + 99 20 libpython3.5m.dylib 0x0000000100809766 PyEval_EvalFrameEx + 23590 21 libpython3.5m.dylib 0x000000010080d92f fast_function + 207 22 libpython3.5m.dylib 0x0000000100809434 PyEval_EvalFrameEx + 22772 23 libpython3.5m.dylib 0x000000010080d0c3 _PyEval_EvalCodeWithName + 1779 24 libpython3.5m.dylib 0x0000000100803b1e PyEval_EvalCodeEx + 78 25 libpython3.5m.dylib 0x000000010078030f function_call + 351 26 libpython3.5m.dylib 0x000000010075bd73 PyObject_Call + 99 27 libpython3.5m.dylib 0x0000000100809ec8 PyEval_EvalFrameEx + 25480 28 libpython3.5m.dylib 0x000000010080d0c3 _PyEval_EvalCodeWithName + 1779 29 libpython3.5m.dylib 0x000000010080d9ae fast_function + 334 30 libpython3.5m.dylib 0x0000000100809434 PyEval_EvalFrameEx + 22772 31 libpython3.5m.dylib 0x000000010080d92f fast_function + 207 32 libpython3.5m.dylib 0x0000000100809434 PyEval_EvalFrameEx + 22772 33 libpython3.5m.dylib 0x000000010080d0c3 _PyEval_EvalCodeWithName + 1779 34 libpython3.5m.dylib 0x000000010080d9ae fast_function + 334 35 libpython3.5m.dylib 0x0000000100809434 PyEval_EvalFrameEx + 22772 36 libpython3.5m.dylib 0x000000010080d0c3 _PyEval_EvalCodeWithName + 1779 37 libpython3.5m.dylib 0x000000010080d9ae fast_function + 334 38 libpython3.5m.dylib 0x0000000100809434 PyEval_EvalFrameEx + 22772 39 libpython3.5m.dylib 0x000000010080d0c3 _PyEval_EvalCodeWithName + 1779 40 libpython3.5m.dylib 0x0000000100803ac1 PyEval_EvalCode + 81 41 libpython3.5m.dylib 0x0000000100832937 PyRun_FileExFlags + 215 42 libpython3.5m.dylib 0x00000001008320ea PyRun_SimpleFileExFlags + 842 43 libpython3.5m.dylib 0x0000000100848c5b Py_Main + 3355 44 python 0x0000000100000dc7 main + 215 45 python 0x0000000100000ce4 start + 52 46 ??? 0x0000000000000002 0x0 + 2 ) libc++abi.dylib: terminating with uncaught exception of type NSException Abort trap: 6

該当のソースコード

import cv2, matplotlib import numpy as np import matplotlib.pyplot as plt piet = cv2.imread('images/test.jpg') cv2.imshow("loaded", piet) piet_hsv = cv2.cvtColor(piet, cv2.COLOR_BGR2HSV) # threshold for hue channel in blue range blue_min = np.array([100, 100, 100], np.uint8) blue_max = np.array([140, 255, 255], np.uint8) threshold_blue_img = cv2.inRange(piet_hsv, blue_min, blue_max) threshold_blue_img = cv2.cvtColor(threshold_blue_img, cv2.COLOR_GRAY2RGB) plt.imshow(threshold_blue_img)

試したこと

OpenCVのreinstallは試みたのですがうまくいきませんでした。

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

動作環境はMacOSXでよろしいでしょうか。
matplotlibのbackendにTkAggが使われて、エラーを起こしているようです。
TkAggは多くの方がハマっているようです。

特段の理由がなければ、
import matplotlib.pyplot as plt
の前の行に
import matplotlib
matplotlib.use('Agg')
と二行追加してみて別のバックエンドを使ってみてはいかがでしょう。

また、

threshold_blue_img = cv2.inRange(piet_hsv, blue_min, blue_max)

で出力されるのはマスク画像です。
cv inRangeで検索 した内容的に、cv2.bitwise_and で元画像とアンドとってやるのがよさそうです。

投稿2018/03/19 04:34

kazto

総合スコア7196

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

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

gymgym

2018/03/19 05:00

回答ありがとうございます。 ご指摘通り、2行追加したのですがすぐにウィンドウが閉じてしまいます。 また、エラーも出ません。 原因はどこに考えられるでしょうか。 よろしくお願い致します。
gymgym

2018/03/19 09:21

ご丁寧にアドバイスしていただきありがとうございます。 うまく実行することができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問