mcpField
P
python-opencv

python-opencv

github.com/josiahsiegel開発5994 回インストール19 週間前に更新
リポジトリ

python-opencv について

python-opencv は、Python によるコンピュータービジョンと画像処理向けのリファレンススキルです。OpenCV の操作パターンと注意点を扱い、画像、動画、フィルター、特徴検出、DNN 推論をカバーします。

主な機能

  1. 01画像の入出力と色変換
  2. 02動画のキャプチャと書き出し
  3. 03フィルタリング、輪郭、変換
  4. 04テンプレート・特徴マッチング
  5. 05DNN 推論と高度なビジョン処理

活用シーン

  1. 01画像の処理と変換
  2. 02カメラやファイルからの動画分析
  3. 03物体検出や特徴マッチングのワークフロー構築

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/josiahsiegel/claude-plugin-marketplace --skill python-opencv

インストール後、Claude Code で/python-opencvを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
opencv-advanced-patterns.md
opencv-core-operations.md
opencv-critical-gotchas.md

詳細

クイックリファレンス

関数用途注意点
cv2.imread(path)画像を読み込むパスが無効な場合は None を返します(エラーは発生しません!)
cv2.imwrite(path, img)画像を保存するRGB ではなく BGR を想定します
cv2.cvtColor(img, code)色を変換するデフォルトは RGB ではなく BGR です
cv2.VideoCapture(src)動画/カメラ入力必ず isOpened() と release() を確認してください
cv2.VideoWriter(...)動画を保存するBGR フレームを想定します。コーデックが重要です
cv2.resize(img, (w, h))画像のサイズを変更するサイズは (幅, 高さ) であり、(高さ, 幅) ではありません
座標系順序用途
NumPy のインデックス指定img[row, col] = img[y, x]ピクセルへのアクセス
画像の shape(height, width, channels)shape は (行, 列, チャンネル) です
OpenCV 関数(x, y)描画関数
リサイズ/ROI(width, height)サイズパラメーター
色変換コード備考
BGR から RGBcv2.COLOR_BGR2RGBMatplotlib での表示用
BGR からグレースケールcv2.COLOR_BGR2GRAY単一チャンネルで出力
BGR から HSVcv2.COLOR_BGR2HSVH: 0-179、S/V: 0-255
補間方法最適な用途速度
INTER_NEAREST速度重視、ピクセル化しても問題ない場合最速
INTER_LINEAR汎用(デフォルト)高速
INTER_AREA縮小中速
INTER_CUBIC高品質な拡大低速
INTER_LANCZOS4最高品質の拡大最低速

このスキルを使う場面

コンピュータービジョンと画像処理に使用します。

  • 画像の読み込み、表示、保存
  • カメラまたはファイルからの動画キャプチャ
  • 画像のフィルタリングと変換
  • エッジおよび輪郭の検出
  • 物体検出とテンプレートマッチング
  • 特徴の検出とマッチング
  • DNN モジュールを使ったディープラーニングの推論

関連スキル:

  • NumPy 配列については、python-fundamentals-313 を参照してください
  • 非同期処理については、python-asyncio を参照してください
  • 型ヒントについては、python-type-hints を参照してください

OpenCV Python 完全ガイド(2025)

概要

OpenCV(Open Source Computer Vision Library)は、最も広く利用されているコンピュータービジョンライブラリです。Python バインディング(opencv-python)により、NumPy 配列を通じてすべての機能を利用できます。OpenCV はデフォルトで BGR の色形式を使用するため、特に注意が必要です。

インストール

# CPU-only (most common)
pip install opencv-python

# With contrib modules (SIFT, SURF, extra features)
pip install opencv-contrib-python

# Headless (no GUI, for servers)
pip install opencv-python-headless

# Verify installation
python -c "import cv2; print(cv2.__version__)"

主な注意点

  • OpenCV は RGB ではなく BGR を使用します。Matplotlib/PIL で表示する前に変換し、cv2.imwrite の前に元に戻してください。
  • 画像の shape は (height, width, channels)、NumPy のインデックス指定は img[row, col] ですが、OpenCV の描画関数では (x, y) を使用します。
  • cv2.imread は、ファイルが存在しない場合やデコードできない場合に None を返します。画像を使用する前に必ず確認してください。
  • VideoCapture と GUI ウィンドウは、finally またはコンテキストマネージャーによるクリーンアップ処理で解放/終了する必要があります。
  • NumPy の演算では uint8 がオーバーフローすることがあります。必要に応じて OpenCV の演算を使うか、明示的に浮動小数点数へ正規化してください。

完全な例と安全なパターンについては、references/opencv-critical-gotchas.md を参照してください。

リファレンスマップ

詳細な API パターンとコードレシピは、目的別のリファレンスに分割されています。ユーザーのタスクに合ったファイルを読み込んでください。

重要な注意点 -> references/opencv-critical-gotchas.md

OpenCV でよくある問題の完全な例については、こちらを参照してください。

  • BGR/RGB 変換:Matplotlib および PIL との連携、正しい cv2.imwrite の使い方
  • 座標の順序:shape、NumPy のインデックス指定、描画関数、ROI スライス
  • 画像の読み込み失敗:cv2.imread の None チェックと pathlib による検証
  • 動画のクリーンアップ:VideoCapture の解放パターンとコンテキストマネージャーのラッパー
  • データ型の安全性:uint8 のオーバーフロー、cv2.add、浮動小数点数への正規化、Canny が想定するデータ型
コア操作 -> references/opencv-core-operations.md

日常的な OpenCV の作業については、こちらを参照してください。

  • 画像の入出力:cv2.imread のフラグ、URL からの読み込み、cv2.imwrite の品質パラメーター、複数画像の一括読み込み
  • 動画のキャプチャと書き込み:カメラ/ファイルからのキャプチャ、VideoWriter のコーデック(mp4v、XVID、H264)、FPS/解像度の確認
  • 色空間の変換:BGR/RGB/HSV/Gray/Lab、HSV による色検出(赤/緑/青の範囲と、赤のデュアルレンジ)、ホワイトバランス用ヘルパー
  • 画像フィルタリング:GaussianBlur、medianBlur、bilateralFilter、Sobel/Laplacian/Canny によるエッジ検出、モルフォロジー演算(erode、dilate、open、close、gradient、tophat)
  • 輪郭の検出:findContours、面積/周長、バウンディングボックス、輪郭の近似、階層構造
  • 画像のリサイズと変換:アスペクト比を維持したリサイズ、回転、アフィン変換/射影変換、warpAffine と warpPerspective の違い
  • テンプレートマッチング:cv2.matchTemplate、マルチスケールマッチング、TM_CCOEFF_NORMED によるしきい値処理
  • 特徴点の検出:ORB、SIFT、AKAZE のキーポイント、BFMatcher と FLANN マッチャー、比率テスト
  • DNN モジュール:ONNX/TF/Caffe 用の cv2.dnn.readNet、Blob の前処理、YOLO/MobileNet の推論
  • 画像の表示:cv2.imshow と waitKey のループ、Matplotlib を使用した Jupyter の cv2.imshow 回避策
  • パフォーマンスのヒント:NumPy のベクトル化、連続配列、OpenCL 用の cv2.UMat、GPU 処理用の cv2.cuda
  • 描画関数:rectangle、circle、line、ellipse、polylines、fillPoly、putText、getTextSize
高度なパターン -> references/opencv-advanced-patterns.md

専門的なコンピュータービジョンのパイプラインについては、こちらを参照してください。

  • 背景差分:MOG2、KNN
  • 物体追跡:CSRT、KCF、MOSSE、マルチオブジェクトトラッカー
  • カメラキャリブレーション:チェスボードのコーナー検出、内部パラメーター/歪み行列、undistort
  • ステレオビジョン:StereoBM、StereoSGBM、視差マップ
  • オプティカルフロー:Lucas-Kanade の疎なオプティカルフロー、Farneback の密なオプティカルフロー
  • 画像のスティッチング:cv2.Stitcher によるパノラマの組み立て
  • 顔検出:Haar カスケード、DNN 顔検出器
  • ArUco マーカー:マーカーの検出と姿勢推定

トリガーフレーズ

次のいずれかをユーザーが話題にした場合、このスキルを有効にしてください:OpenCV、cv2、BGR、画像処理、輪郭、Canny、Hough 変換、テンプレートマッチング、ORB/SIFT/AKAZE、VideoCapture、VideoWriter、cv2.dnn、cv2.cuda、Python でのコンピュータービジョン。

コメント