• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

opencv

date: 2023-07-20 excerpt: opencvの使い方

tag: nlpspacypython


opencvの使い方

概要

  • 画像を扱うための様々な機能を提供するライブラリ
  • 読み込んだ画像がnumpy arrayとして扱われるので複雑な操作を入れやすい
  • ライブラリ名がopencvなのに、インポートしたときの名前がcv2なので一貫性がない

インストール

$ pip install opencv-python

各機能

cv2.imread

  • 画像の読み込み
img = cv2.imread("filename")

cv2.normalize

  • 画像のノーマライズ
  • 引数
    • src
      • 元のベクトル
    • dst
      • 出力先ベクトル
    • alpha
      • 最小値
    • beta
      • 最大値
    • norm_type
      • 正規化戦略
        • cv2.NORM_MINMAX
          • 0 ~ 1に線形にスケーリング
dst = cv2.normalize(src=src, dst=None, alpha=0, beta=1, norm_type=cv2.NORM_MINMAX)

cv2.threshold

  • 画像の二極化を行う
  • 入力は1channelのグレースケールなどを期待する
  • 引数
    • thresh
      • ある値で前景(通常は白)と背景(通常は黒)に分ける値
    • maxval
      • しきい値を超えた時の値
    • type
      • 戦略
        • cv2.THRESH_BINARY
          • しきい値を超えたときはmaxvalにそれ以外は0
        • cv2.THRESH_TOZERO
          • しきい値を超えた値は変わらず、それ以外が0
        • cv2.THRESH_TRUNC
          • しきい値を超えた値はしきい値になり、それ以外は変わらない
ret, img = cv2.threshold(src=img, thresh=10, maxval=255, type=cv2.THRESH_BINARY)

cv2.findContours

  • バウンディングボックスを検出するアルゴリズム
  • 機械学習を使わないで検出できる
    • データセットが小さすぎるときに便利
  • 参考
    • 【Google Colab】OpenCVでBounding Boxの検出/Qiita


nlpspacypython Share Tweet