2017-09-07 11 views
1

私はPython 2.7から3.5にプロジェクトを切り替えましたが、今ではタプルを必要とするほとんどの関数を使用することはできません。一例として、ほとんどのcv2タプル引数は、Python 3.5(Windows 7)では動作しません

rgb = (255,0,0) 
cv2.circle(img,(x, y),2,rgb,-1) 

は、システム・エラー「新しいスタイルのgetargs形式が、引数はタプルではありません」が返されます。私は明示的に「タプル()」

を使用している場合でも

どんなに私は、円の色を表現するタプルを入力する方法、それは常に失敗します、私はこの問題は新しいものではありません実現が、利用可能なソリューションがパッケージされています依存(https://mail.python.org/pipermail/python-dev/2017-January/147091.html)。

同じスクリプトがすでにopencvを使用しているときに別のライブラリを持ってくることなく、画像にドットを配置したいだけです。

EDIT:x、yについて不平を言います。これが2.7とない3.5で働いていた理由は不明であるが、特にタプル(としての価値を宣言するには)Pythonの3.5では問題

+0

https://stackoverflow.com/questions/13225525/system-error-new-style-getargs-format-but-argument-is-not-a-tuple-when- あなたの問題はまた、枕に関連する可能性があります... – Eskapp

答えて

1

、以下の作品が修正されています。

import numpy as np 
import cv2 


img = np.zeros((100, 100)) # Black image 
rgb = (255, 0, 0) 
cv2.circle(img, (50, 50), 2, rgb, -1) # Plot centered on (50, 50) 

は、あなたのシステムでこれを試みることができますエラーが持続するかどうかを確認します。

これが動作する場合、あなたの問題はあなたの変数「IMG」またはその値の種類のタイプに関連することができる

をする(Windows 10、Anaconda3、OpenCVの3.1.0に使用して)(私は投稿のリンクを参照してくださいあなたの質問のコメントとして)

+1

あなたは正しいです、拒否されているタプルは、私のx、yはrgbではありません。ありがとうございました – Snesticle

関連する問題