348 Views
February 17, 22
スライド概要
URL: https://www.kkaneko.jp/cc/opencv/opencv1.pptx
金子邦彦(かねこくにひこ) 福山大学・工学部・教授 ホームページ: https://www.kkaneko.jp/index.html 金子邦彦 YouTube チャンネル: https://youtube.com/user/kunihikokaneko
OpenCV について • OpenCV とは • OpenCV の Python プログラム例 • 配列 • 画像の B, G, R の 3成分 • OpenCV でカメラの表示 URL: https://www.kkaneko.jp/cc/opencv/opencv1.pptx 金子邦彦 1
OpenCV とは • コンピュータビジョンと機械学習のライブラリ. • 2500 以上のアルゴリズム. • 顔認識、物体認識、人間の動きの分類、カメラの 動きの追跡、オブジェクトの動きの追跡、3次元 モデルの抽出、ステレオカメラからの3次元点群 の生成、イメージスティッチング、類似画像の検 索、赤目の除去、眼球運動の追跡、ARの機能など • ライセンス: BSD ライセンス • インタフェース: C++, Python, Java, MATLAB • マシン: Windows, Linux, Mac OS, iOS, Android https://opencv.org/about.html 2
コンピュータビジョンに関わるライブラリ類 • 顔検知、顔識別: • 一般物体認識: Dlib など 種々の手法 • 画像: Mask R-CNN, YOLO など • 文字認識: Tesseract, OpenALPR など 3
OpenCV の Python プログラム例 (画像表示) import cv2 import numpy as np v = cv2.VideoCapture(0) r, f = v.read() if ( r == False ): 動作画面 exit() print( f.shape ) print( f.ndim ) cv2.imshow("", f) cv2.waitKey(0) v.release() cv2.destroyAllWindows() v は cv2.VideoCapture 型の オブジェクト read : フレーム読み出し release: 使用終了 f は配列 4
配列 • 要素の並び.要素には添字がある. 0 1 8 3 2 5 4 4 1 3 1次元の配列 [8 5 4 1 3] の添字は、 01234 5
配列の次元 配列は Python では次のように表示される. 1次元: [要素の並び] 2次元:[[要素の並び] … [要素の並び]] 1次元 2次元 6
配列の形と次元の表示 3次元の配列 f を print(f) で表示 配列の形は 「480 × 640 × 3」で あることを確認 配列の次元は shape: 形の取得 ndim: 次元数の取得 「3」であることを 確認 7
画像の B, G, R の 3成分 • cv2.imshow("", f) • cv2.waitKey(0) cv2.imshow("", f[:,:,0]) cv2.imshow("", f[:,:,1]) cv2.imshow("", f[:,:,2]) cv2.waitKey(0) cv2.waitKey(0) cv2.waitKey(0) B成分 G成分 R成分 8
OpenCV でカメラの表示 import cv2 import numpy as np v = cv2.VideoCapture(0) while(v.isOpened()): r, f = v.read() if ( r == False ): 動作画面 break cv2.imshow("", f) if cv2.waitKey(1) & 0xFF == ord('q'): ビデオ表示では ループを行う break v.release() cv2.destroyAllWindows() 9