Speed-Cam.py Ver 11.26以降は、PiカメラモジュールとUSBCAMおよびIP/RTSPカメラを使用して、Raspberry Pi OS Bullseyeまたはその後の下で実行されます。 Picameraサポートの場合、sudo raspi-config 、インターフェイスオプションを実行し、レガシーカメラオプションを有効/無効にして再起動します。
重要- Raspbian Sudo Apt-GetアップデートとSudo Apt-Getアップグレードは、の一部として実行されません
Speed-install.shしたがって、システムが最新であることを確認するために、インストール前にこれらを実行することを強くお勧めします。
下のコードボックスの右側にあるgithubコピーアイコンを押します。
または、マウスの左ボタンを使用して、下のコードボックスのカールコマンドを強調表示します。強調表示された領域でマウスを右クリックして、コピーを選択します。
curl -L https://raw.github.com/pageauc/speed-camera/master/speed-install.sh | bash
RPI Putty SSHまたはターミナルセッションの右クリックで、[貼り付け]を選択して[入力]を選択してダウンロードしてスクリプトを実行します。
これにより、 speed-install.shスクリプトをダウンロードして実行します。 Python3で実行されている場合は、インストールされていない場合はOPENCV3をインストールする必要があります。 Opencvをコンパイルする必要がある場合は、メニュー駆動型のgithubリポジトリをソースプロジェクトからコンパイルopencv3で確認してください
バージョン13.05は、主要な速度カメラの改訂です。カメラスレッドコードは、strmcam.pyモジュールによって処理されるようになりました。 config.py変数名が変更されているため、バックアップとcp config.py.new config.py(詳細については以下を参照)が必要です。
重要:すべての設定はconfig.pyにあります。 Ver 13.05以降にアップグレードしたら、configcam.pyが存在する場合は削除できます。プラグインが機能するようになりました。ニーズに合わせてプラグインファイルをカスタマイズしたり、独自のプラグインファイルをカスタマイズしたりできます。アップグレードする場合は、削除する必要があります。古いプラグインを移動して、アップグレード中に新しいプラグインをダウンロードします。バグや問題が見つかった場合は、githubの問題を投稿してください。クロード
重要なspeed-cam.py ver 8.x以上には、更新されたconfig.pyとプラグインが必要です。
cd ~/speed-camera
cp config.py config.py.bak
cp config.py.new config.py
プラグインを置き換えるには、以下のプラグインフォルダーの名前を変更(または削除)します
cd ~/speed-camera
mv plugins pluginsold # renames plugins folder
rm -r plugins # deletes plugins folder
次に、 menubox.shアップグレードメニューピックを実行します。
Windows10/11またはAppleMac Dockerインストールクイックスタートを参照してください
または、DockerなしでWindowsまたはUnixディストリビューションがインストールされます
これは、Raspberry PI、Windows、UNIXディストリビューションコンピューターOPENCVオブジェクトスピードカメラデモプログラムです。 Pythonで記述されており、OpenCVを使用して、最小ピクセル領域の上のカメラビューの最大の移動オブジェクトのX、Y座標を検出および追跡します。
ユーザー変数はconfig.pyファイルに保存されます。モーション検出は、 mo_crop_y_upper 、 mo_crop_y_lower 、 mo_crop_x_left 、 mo_crop_x_right変数(道路または関心のあるエリア)の間で制限されています。 mo_crop_auto_on =真のマニュアル設定をオーバーライドし、画像サイズに基づいて大まかな作物領域を自動計算します。モーショントラッキングは、config.pyのmo_track_event_count変数によって制御されます。これにより、トラックイベントの数とピクセル単位のトラックの長さが設定されます。これは、カメラビュー、CPU速度などを調整する必要がある場合があります。L2RおよびR2Lモーション方向のCAL_OBJ_PX_およびCAL_OBJ_MM_変数に基づいて速度が計算されます。ビデオストリームフレームの画像は、変数設定については、変数IM_SUBDIR_MAX_FILES = 2000あたりのサブフォルダー(オプション)のメディア/画像でキャプチャおよび保存されます。
log_data_to_csv = trueの場合、 speed-cam.csvファイルは、csv(comma分離値)形式に保存されているイベントデータで作成/更新されます。これは、さらに処理するためのスプレッドシート、データベースなどのプログラムにインポートできます。リリース8.9は、 sqlite3データベースを追加して速度データを保存します。デフォルトは、 speedテーブルにデータを備えたdata/speed_cam.dbです。データベース設定は、config.pyから管理できます。データベースは、config.py設定から自動的に作成されます。詳細については、SQLite3データベースの管理方法を参照してください
Raspberry PiコンピューターとRPIカメラモジュールがインストールされているか、USBカメラが接続されています。ハードウェアがテストされていることを確認してください。ほとんどのRPIモデルは問題なく動作します。 Quad Core RPIは、スレッドのためにパフォーマンスを大幅に改善します。 Raspbianオペレーティングシステムの最近のバージョンが推奨されます。
または
USB Webカメラが接続されたMS WindowsまたはUNIXディストリビューションコンピューターと、詳細については、Pythonの最近のバージョンのPythonコンピューターがWikiの詳細を参照してください。
OPENCVバージョン3.xxにアップグレードすることをお勧めしますopencv 3.4.2を簡単にコンパイルしてソースからhttps://github.com/pageauc/opencv3-setupを参照してください
WindowsまたはUNIXコンピュータープラットフォーム(Non RPIまたはDebian)の場合、最新のPythonバージョンを確保してください。 PythonとOpenCVをダウンロードしてインストールします
最新のPythonバージョンには、このコードを実行するために必要なNumpyおよび最近のOpenCVバージョンが含まれています。また、USB Web Camがインストールされて動作する必要があります。このプログラムをインストールするには、https://github.com/pageauc/speed-cameraにGithubプロジェクトページにアクセスします。グリーンクローンまたはダウンロードボタンを選択します。ファイルは、スピードカメラフォルダーにクローニングまたはジップされます。 Pythonアイドルアプリケーション(推奨)、GUIデスクトップ、またはコマンドプロンプト端子ウィンドウからコードを実行できます。注Bash .shシェルスクリプトは、 Windowsの特別なサポートがインストールされない限り、Windowsで動作しません。
スピードカメラは、ドッカーのインストールをサポートします
システムの要件と指示ごとのApple Macintosh
そして
Microsoft Windows 10/11 64ビットBIOS仮想化を有効にし、システムの要件と命令ごとにLinux WSL 2用のMicrosoft Windowsサブシステム。
config/config.pyを編集しますRPI SSHセッションまたはコンソール端末に記録されてから、以下を実行します。実行する前にインストールコードを確認できます
cd ~
wget https://raw.github.com/pageauc/speed-camera/master/speed-install.sh
more speed-install.sh # You can review code if you wish
chmod +x speed-install.sh
./speed-install.sh # runs install script.
cd ~/speed-camera
./speed-cam.py
Speed-Cam.py Wikiセクションを実行する方法をご覧ください
重要な速度カメラは、 Calibrate_on = Trueモードで開始されます。
config.pyファイルの設定を確認し、必要に応じてnanoを使用して変数を編集します。 config.py.py cal_obj_px_およびcal_obj_mm_の正しい値をL2RおよびR2L方向に設定するために、キャリブレーションを実行する必要があります。変数は、速度で測定されるオブジェクトまでのカメラからオブジェクトまでの距離に基づいています。詳細については、キャリブレーション手順を参照してください。
track_counter =というconfig.pyモーショントラッキング変数は、システムとopencvバージョンに合わせて調整できます。デフォルトは5ですが、Quad Core RPI3と最新のOPENCVバージョンEG 3.4.2は10〜15以下になる可能性があります。これには、微調整するために冗長なログメッセージを監視する必要があります。
cd ~/speed-camera
./menubox.sh
menubox.shを使用した管理速度cam(キャリブレーションされた後、および/またはテストが完了した場合) 
サンプルの画面ショットごとに、Webブラウザからのスピードカムデータとトレンドを表示します。これらは、menubox.shメニューピックから、またはコンソールからスクリプトを実行するか、crontabスケジュールを介して生成できます。



Speed Webブラウザページから最近または履歴画像を直接表示できます。これらは動的に作成され、最新の画像が表示されます。 Webページの更新ボタンを押して、表示を更新します

このコードの一部は、ここでCを使用してKyle HounslowのYouTubeチュートリアルに基づいていますhttps://www.youtube.com/watch?v=x6rpdrzzgjg
https://github.com/jrosebr1/imutils/blob/master/imutils/video/pivideostream.pytedで入手可能なPivideostreamクラスコードについては、http://www.pyimagesearch.comのAdrian RoseBrock Jrosebr1に感謝します。
楽しむ
クロード・パゴー
YouTubeチャンネルhttps://www.youtube.com/user/pageaucp
Github Repo https://github.com/pageauc