WSL2でのUSBウェブカメラへのアクセスによるローカルモーション検出

✍️ OpenClawRadar📅 公開日: March 20, 2026🔗 Source
WSL2でのUSBウェブカメラへのアクセスによるローカルモーション検出
Ad

USB/IPパススルーによるWSL2でのUSBアクセス

WSL2にはネイティブのUSBデバイスアクセス機能がないため、Windowsに接続されたウェブカメラはLinuxから見えません。この問題を解決するのがusbipd-winで、ローカルネットワークを介してUSBデバイスをWindowsからWSL2に共有することでこのギャップを埋めます。

インストールと設定

Windows Package Managerを使用してusbipd-winをインストールします:

winget install usbipd

カメラのBUSIDを確認します:

usbipd list

出力例:

BUSID VID:PID DEVICE STATE
1-4 2e1a:4c01 Insta360 Link Not shared

デバイスをWSL2にバインドして接続します:

usbipd bind --busid=1-4
usbipd attach --wsl --busid=1-4

bindコマンドはデバイスを共有用に準備します。attach --wslはWSL2インスタンスに特別に接続します。

これらの手順後、カメラはWSL2内で/dev/video0として表示されます。注意:USB/IP接続を適切に初期化するためにWSL2を再起動する必要がある場合があります:

wsl --shutdown
usbipd attach --wsl --busid=1-4
Ad

ローカル動体検知システムの構築

カメラアクセスが確立されたら、開発者はPythonとOpenCVを使用して動体検知システムを構築しました。バックグラウンド動作、自動スナップショット、設定可能な感度、ローカルストレージに焦点を当てています。

動体検知アルゴリズムの仕組み:

  • カメラから連続する2フレームをキャプチャ
  • グレースケールに変換
  • ガウシアンブラーを適用してノイズを低減
  • フレーム間の絶対差分を計算
  • 閾値を適用して動きを識別
  • 輪郭を検出して動きの連続領域を特定
  • サイズでフィルタリングして小さな動きを無視
  • 動きが閾値を超えたらスナップショットを保存

このアプローチは、画像をクラウドに送信せず、すべての処理と保存をローカルで行うことでプライバシーを確保します。

📖 Read the full source: r/openclaw

Ad

👀 See Also