本ページは i-PRO株式会社 の有志メンバーにより記載されたものです。
本ページの情報は ライセンス に記載の条件で提供されます。
本ページでは、i-PRO カメラとPCを MJPEG により接続してPC画面へ表示するプログラムを c++ (Visual Studio) で作成する例を紹介します。とても短いプログラムで i-PRO カメラの映像を見ることができます。動作確認は i-PRO mini (WV-S7130)、モジュールカメラ(AIスターターキット)を使って行いましたが、ほとんどの i-PRO カメラでそのまま利用できるはずです。ぜひお試しください。
Python の記事は こちら を参照ください。
[動画] MJPEG でカメラと接続して映像表示してみた様子
"i-PRO mini" 紹介:
"モジュールカメラ" 紹介:
カメラ初期設定についてはカメラ毎の取扱説明書をご確認ください。
カメラのIPアドレスを確認・設定できる下記ツールを事前に入手しておくと便利です。
i-PRO カメラと接続するための MJPEG 表記仕様は こちら を参照ください。
Visual Studio の c++ と OpenCV を使って、PC と i-PRO カメラを MJPEG(Motion JPEG) で接続して映像表示してみます。
コンパイラ : | Visual Studio 2022 pro., | Version 17.4.4 |
ライブラリ : | OpenCV, | 4.6.0 |
OS : | Windows11 home, | 22H2 |
※ "Community edition" でも動作する内容です。
Check
OpenCV のインストール方法、Visual Studio プロジェクトへの設定方法などは下記ページを参考に行ってください。本ページでは説明を割愛します。
サンプルプログラムのソースコードを以下に示します。
[プログラムソース "connect_with_mjpeg_1.cpp"]
/* ====================================================================================== [Abstract] Try connecting to an i-PRO camera with Motion JPEG. Motion JPEG で i-PRO カメラと接続してみる [Details] Let's try first. まずはやってみる [Library install] opencv: You need OpenCV. See "https://i-pro-corp.github.io/Programing-Items/cpp_vs/install_opencv.html" ====================================================================================== */ #include <iostream> #include <opencv2/opencv.hpp> #include <opencv2/core/utility.hpp> const std::string user_id = "user_id"; // Change to match your camera setting const std::string user_pw = "user_pw"; // Change to match your camera setting const std::string host = "192.168.0.10"; // Change to match your camera setting const std::string winname = "VIDEO"; // Window title const std::string resolution = "1920x1080"; // Resolution const std::string framerate = "15"; // Frame rate const std::string url = "http://" + user_id + ":" + user_pw + "@" + host + "/cgi-bin/nphMotionJpeg?Resolution=" + resolution + "&Quality=Standard&Framerate=" + framerate ; int main(int argc, const char* argv[]) { cv::VideoCapture cap(url); cv::Mat frame; char ret; while (true) { cap >> frame; if (frame.empty()) { break; } // Please modify the value to fit your PC screen size. resize(frame, frame, cv::Size(), 0.5, 0.5); // Setting by magnification. // Display video. cv::imshow(winname, frame); ret = (char)cv::waitKey(1); // necessary to display the video by cv::imshow(). // Press the "q" key to finish. if (ret == 'q') { break; } } cap.release(); cv::destroyAllWindows(); return EXIT_SUCCESS; }
上記プログラムを動かした様子を動画で示します。
こんなに簡単なプログラムでとても快適な映像表示を実現することができました。
[動画] MJPEG でカメラと接続して映像表示してみた様子 (注意:ストリーム1~4 を全て Off に設定しています)
本ページで紹介のソースコードは、下記 github より取得できます。
下記 github のソースコードと本ページの内容は差異がある場合があります。
i-pro-corp/cpp-examples: c++ sample programs for i-PRO camera. (github.com)
本ページの情報は、特記無い限り下記ライセンスで提供されます。
2023/10/20 | - | IP簡単設定ソフトウェア、IP Setting Software リンク先を更新, | 木下英俊 |
2023/3/1 | - | 説明および表現を一部更新, | 木下英俊 |
2023/2/15 | - | 新規作成, | 木下英俊 |
i-PRO - Programming Items トップページ