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

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

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

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

Python

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

Q&A

解決済

2回答

3042閲覧

ValueError: need more than 2 values to unpack このエラーについて

gonzoshira

総合スコア21

OpenCV

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

Python

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

0グッド

0クリップ

投稿2019/01/17 11:30

pythonを用いて画像の輪郭を表示したいと思っています.
下がプログラムになります.

mport numpy as np
import cv2

im = cv2.imread('14gou.pgm')
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,127,255,0)
image, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
img = cv2.drawContours(im, contours, -1, (0,255,0), 3)
cv2.imshow('Image1',img)

これを実行すると

Traceback (most recent call last):
File "C:/Users/catia13/PycharmProjects/bme280/messi.py", line 7, in <module>
image, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
ValueError: need more than 2 values to unpack

このようなエラーが出できますが.need more than 2 values to unpack
とはどういうことなのでしょうか...知ってる方おねがいします!

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

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

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

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

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

can110

2019/01/17 11:48

opencvのバージョンはいくつでしょうか?
guest

回答2

0

OpenCV3.x用のコードをOpenCV2.x上で動作させていると思われます。
findContoursの戻り値が異なるので[opencvエラー]need more than 2 values to unpackを参考に修正すれば動作すると思います。

投稿2019/01/17 11:53

can110

総合スコア38233

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

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

0

ベストアンサー

過去の質問やエラーの文言を見る限り、次の環境をご利用と推察します。

  • Python2.7
  • OpenCV4.0.0

OpenCV4系ではfindContoursの返り値に変更があったようです。リファレンス
次のように修正すれば動作するように思います。

Python

1contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

エラーの再現

Python2

1>>> a, b, c = 1, 2 2Traceback (most recent call last): 3 File "<stdin>", line 1, in <module> 4ValueError: need more than 2 values to unpack

Python3

1>>> a, b, c = 1, 2 2Traceback (most recent call last): 3 File "<stdin>", line 1, in <module> 4ValueError: not enough values to unpack (expected 3, got 2)

Pythonのバージョンについて

Python3.xに乗り換えることを強く推奨します。
2.7はサポート切れまで一年を切っており、今から学習するメリットはほぼありません。

コードの書き方について

teratailには、コードを見やすく表示する機能があります。
質問編集画面を開き、コードを選択した状態で<code>ボタンを押してください。
Python
特にPythonの場合、インデントが崩れるとコードの意味が変わってしまいます。

投稿2019/01/17 11:49

編集2019/01/17 11:52
LouiS0616

総合スコア35658

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

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

gonzoshira

2019/01/18 04:47

ご指摘通りにやったらできました! 詳しく説明もしていただいてありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問