1. ホーム
  2. python

[解決済み] minAreaRect(contours)の出力は何ですか?

2022-02-13 11:52:26

質問

私は最近、openCVとpythonを使い始めました。私は,あるプロジェクトで findContours . 大体6~8個の輪郭が得られ、その輪郭に合うバウンディングボックスを得るためにループしているところです。

そのために、私は minAreaRect(contours) これは、輪郭に合うように回転させた矩形を与えるものです。さて、このコマンドの出力はタプルのリストである。

各タプルは次のようなものです。 ((81.0, 288.0), (22.0, 10.0), -0.0) この数字が何を意味するのか、説明がないのですが?

たぶん ((x座標, y座標),(幅, 高さ), 回転) .

解決方法は?

ご指摘の通りです。OpenCV (C++) のドキュメントを見ると、以下のように書かれています。 cv::minAreaRect であることがわかる。 cv::RotatedRect が返されます。があります。 フルコンストラクター cv::RotatedRect です。

cv::RotatedRect::RotatedRect(const cv::Point2f& center, const cv::Size2f& size, float angle)    

対応するパラメータの説明です。

center    The rectangle mass center.
size      Width and height of the rectangle.
angle     The rotation angle in a clockwise direction. When the angle is 0, 90, 180, 270 etc., the rectangle becomes an up-right rectangle.

明らかに。 centersize はPython APIではタプルとして扱われ、3つのパラメータもすべてタプルとして返されます。ということで、あなたの想定にぴったりなのです。

お役に立てれば幸いです。