Python/OpenCV 学習:cv2.fitEllipse

2015-08-18 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での blogramのランクインカテゴリは、
6、1、1、0、0、 0、1、0、0、0(41)で、換算ポイント 75pt 。
「Firefox」が5位にアップしたが、昨日7位にダウン。
「化学業界」「グルコサミン」「FM COCOLO」はbg値変動。
「C言語」「Perl」「Python」は全く変化無し。
・-・ - -・

さて、本文。


前(2015-08-12)の記事:
直交距離回帰:ODR(Orthogonal Distance Regression)
に続いて、
今度は、「Python OpenCV 楕円近似」で検索、・・・・・

「OpenCV 備忘録」の 2013年1月30日 の記事:
OpenCVで検出結果を楕円にあわせる
が見つかった。
  FloodFillなどの処理により、マスク画像を取得した後に、
  大まかな領域情報を得る手法の一つとして、
  検出領域を四角形で囲い込む内容を前に投稿した

  今度は、検出結果を、四角ではなく、
  cv::fitEllipseを使用して楕円にあわせる

  前回同様に、cv::RotatedRecが戻り値であるが、
  楕円の場合は、cv::ellipseで表示できる

  cv::RotatedRect rRect = cv::fitEllipse(polygon);
  cv::ellipse(image, rRect, cv::Scalar(0,255,0));

  cv::RotatedRectには、中心と、サイズと、傾きが格納されているため、
  楕円を描画することはできるが、
  RotatedRectという名称にはしっくりこない

これは、「C言語」版???


そこで、
「cv2.fitEllipse」で検索、・・・・・

“OpenCV 2.4.11.0”ドキュメントだが、
Structural Analysis and Shape Descriptors
が見つかる。

ここの半分から下のあたりに、

  fitEllipse

  Fits an ellipse around a set of 2D points.

  C++: RotatedRect fitEllipse(InputArray points)
  Python: cv2.fitEllipse(points) → retval
  C: CvBox2D cvFitEllipse2(const CvArr* points)
  Python: cv.FitEllipse2(points) → Box2D

  ・・・・・
  ・・・・・


それから、
「GitHub」の中の「kipr/opencv」に、
opencv/fitellipse.py at master
がある。

この105行のソース・コード( 104 行?)を、
コピー&ペーストして、
若干<紙>流に手直し。
( cv から cv2 へ )
OpenCV 3.0 gold 対応 )

行けますね。


それで、
以前(2015-03-06)の記事:
Python/OpenCV 学習:OpenCV 3.0 beta 導入
で書いた、
  _, c, _ = cv2.findContours(im, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
の、
コンター(群):c
を使って、

for m in range(len(c)):
cnt = c[m]
ellipse = cv2.fitEllipse( cnt )
  ・・・・・
  ・・・・・


とすると、・・・

x=ellipse[0][0] と、y=ellipse[0][1]
が中心座標。

u=ellipse[1][0] と、v=ellipse[1][1]
が2つの径(長短は分からない)。

そして、

k=ellipse[2]
が角度(X軸開始、時計回り)

となりますね。


この「cnt」については、・・・・・

こんな留意点がある!
楕円フィッティングへの引数の点列がおかしいのでメモ
  ・・・・・
  ・・・・・
  点列を渡せばよいだけ。非常にシンプルになった。
  点列は
  ・・・・・
  ・・・・・
  ・・・・・
  findContour等点列を返す関数を見てみると
  次元がもう一つ多いarrayを返している。
  ・・・・・
  ・・・・・


本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


150124-26
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク