このリンク:HTTPSは://blog.csdn.net/ling_xiobai/article/details/79691785
今日使用OpenCVのはcv2.cv.BoxPoints()関数が間違っている、示唆「モジュール」オブジェクトが属性を持っていませんが、スクリプトを実行しているが、表示された「 CV 「エラーは、いくつかの記事を発見し、解決策のほとんどが言うことです見つけ、 『opencv3は何のCV、唯一の再ダウンロードopencv2を持っていないためである。』、私は疑問に思う、新しいバージョンを持っていない、なぜダウンロード古いですバージョン。一部では、根本的な理由はサポートしていないバージョンが仕事ではありません、「CV2の輸入品種から品種として」これはそれの冗談であることをお勧めします。しかし、私はちょうどだけ座標を見つけるために、この機能を使用したい、OpenCVのを再ダウンロードする良いトラブルを感じ、そして最後にstackflowするだけで、ほとんど英語の参照リンクを行使し、誤ってその元のバージョンのopencv3の唯一の変更ビットを発見しました:
あなたはこの機能を使用する場合は、あなたがopencv2インストールしたくない、単にcv2.cv.BoxPoints()関数の代わりにcv2.boxPoints()。
#ちなみに、バージョンは互換性の構文エラーは、多くの場合、このようなopencv3対のpython3対python2、opencv2として、発生しないが、
私はあなたがライン上の問題を見つけるためにオンラインで行く場合にのみ、その違いは、下に戻すためにバーに行くことを示唆していません。
追加:
アンパックに遭遇理由あまりにも多くの値は、(2予想 )、 また時には書き込みfindContours機能のバージョンです。
cv2.findContours()関数
関数のプロトタイプは
cv2.findContours(image, mode, method[, contours[, hierarchy[, offset ]]])
opencv2の2つの値を返し:輪郭、階層。注:opencv3戻り三つの値、すなわち、IMG、countours、階層
参考記事:https://blog.csdn.net/hjxu2016/article/details/77833336
解決違い:
OpenCV2とOpenCV4で:
findContoursこの輪郭抽出機能は、2つの値を返します。
①点集合輪郭(輪郭)
②層の屈折率プロファイル(階層)
OpenCV3で:
これは3つの値を返します。
イメージ(画像)①扱わ
②点集合輪郭(輪郭)
③それぞれの層の屈折率プロファイル(階層)
三、cv2.findContours()関連:
1、パラメータ:
①最初の引数:
画像の輪郭を検索するには |
②2番目のパラメータは検索モードの概要を示し、4があります。
cv2.RETR_EXTERNAL | 唯一の外側輪郭検出 |
cv2.RETR_LIST | 輪郭検出は、階層を確立していません |
cv2.RETR_CCOMP | 輪郭の二つのレベルを確立し、上部層は、境界情報層が内孔である外側境界であります |
cv2.RETR_TREE | 階層ツリー構造のプロファイルを確立します |
③第三のパラメータは、近似輪郭アプローチ方法であります: