Python 学習:OpenCV 入門

2014-05-14 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での、blogramのランクインカテゴリは、
2、3、3、0、0、 0、0、1、0、0(39)で、換算ポイント 63pt 。
「Firefox」昨日、bgアップにも拘わらず4位にダウン。
だが、今朝方3位に復帰。
・-・ - -・

さて、本文。

前記事:
WinPython:32ビット版に乗り換え
の如くで、
OpenCV
が自然に使えるようになった。

ここで、WinPython に新たに加えたパッケージ:OpenCV について、
入門します。即ち、学習参考資料をかき集め。

出来るだけ日本語のページが良い。

先ず、
「tataboxの備忘録」データ解析、画像解析、化学分析などなど
の「"opencv" - 記事一覧

2013-08-11 付「scipy+Opencv+numpyによる画像分類」や
2013-08-12 付「scipy+Opencv+numpyによる画像分類2」
に続いて、
2013-07-21 付に、
OpenCVとPIL(python Image library)のデータ変換
がある。

  OpenCVとPILの相互利用

PIL ⇒ OpenCV
  import numpy as np
  OpenCV_data = np.asarray( PIL_data )

OpenCV ⇒ PIL
  from PIL import Image
  PIL_data = Image.fromarray( OpenCV_data )


これは、必須?

それから、
  青画面+上下反転の残念仕様になるので対策
は重要!(特にカラー画像では)

  RGB じゃなくて、BGR の様ダ!!!

  また、上下反転!!!


もうひとつのサイト:
【シリーズ】・・・第8回:OpenCV-python①画像の入出力と可視化
  ・・・・・
  画像のロードと表示

  まずは画像を読み込んで、それを表示してみましょう。
  画像の読み込みはcv2.imread()により行います。

import cv2
import numpy as np

img = cv2.imread('test1.jpg')
cv2.imshow('result', img)

cv2.waitKey(0)
cv2.destroyAllWindows()


  ・・・・・
  ・・・・・
  ロード時のカラーチャンネルの指定

  cv2.imread()の2つめの引数次第で、
  画像をロードする時のカラーチャンネルを以下の3つから指定できます

  ・ cv2.IMREAD_COLOR : 3チャンネルのカラー画像としてロード。
     4チャンネル目にアルファ値が入っていても破棄される(デフォルト)。
  ・ cv2.IMREAD_GRAYSCALE : 1チャンネルのグレースケール画像としてロード。
  ・ cv2.IMREAD_UNCHANGED : アルファチャンネルのような
     追加チャンネルも含んだ状態で画像をロード。
  ・・・・・

と、取り敢えず2サイト。

でも、本家のマニュアルは???


それから、そもそもの“セグメンテーション”関連では、

OpenCV を知った記事
で書いた、
Image Segmentation with Watershed Algorithm


OpenCV-Python: Grabcut Algorithm in OpenCV
これは、
  This tutorial is meant for OpenCV 3x version. Not OpenCV 2x
???

そして、
opencv/samples/python2/grabcut.py at master
OpenCV Python Bindings for GrabCut Algorithm
OpenCV Adventure: GrabCut
これら3つ(その上も含め4つ)は、
全て“GrabCut
即ち「graph cuts法」に基づくもの。


日本語ページでは、
「虚苦心観察日記」の
GrowCut - 画像処理のおはなし
があった。
  ・・・・・
  じゃぁ何でGrowCutなんて試したのか。
  それはとても簡単だから。
  実装するだけなら本当に超簡単(自分にも出来たくらい)。
  理論的な内容は本家の以下のページを見ていただけば。
  Download Limit Exceeded
  また実装例は以下にあります。
  no title
  (注意:この実装例にはバグがあって、ところどころおかしいです。
  L2ノルムの計算は平方根必要ないのにsqrtで平方根をだしてしまっています。)
  あと宣伝になりますが、GitHubにプログラムをあげました。
  ・・・・・

ところで、上記のPDF文書“no title”は、
実は、
GrowCut:セグメンテーション手法
で書いたものでした。
つまり、
  映像情報メディア学会誌 Vol.64, No.6, pp.833~838(2010)
ですね。

それから、些か気になるのは、
  (注意:この実装例にはバグがあって、ところどころおかしいです。
  L2ノルムの計算は平方根必要ないのにsqrtで平方根をだしてしまっています。)
の記述です。
よく分からないのですが、どうなんですかネ?????


本日はここまで。

更なる Python 学習へ、・・・



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


140418
関連記事
スポンサーサイト

コメントの投稿

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

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



おきてがみ

最新記事
カレンダー
07 | 2017/08 | 09
- - 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
ブックマーク