はじめまして。私は今春からVC++.netを用いて研究をすることになった大学院1年生です。よろしくお願いします。
早速質問なのですが、ネットワークカメラの画像を取得する方法を教えて頂きたいです。今まではVBを使って、ブラウザにネットワークカメラの画像を表示させ[Alt]+[PrintScreen]キーを押してクリップボードに保存し、その画像をビットマップに変換し必要な部分を切り取るという方法でやっていました。しかし、この方法では処理に時間がかかってしまいます。直接ネットワークカメラの画像を取得したいのですが、どなたか教えて頂けないでしょうか?カメラはパナソニックのBB-HCM381を使っています。
宜しくお願い致します。
HTML受信して、リンク解析して画像を受信する
はじめまして。
シレンさんの質問に便乗させて頂きます。
私もネットワークカメラの制御(パンチルト・ズーム等制御、および画像取得)を行いたいのですが、方法がよく分からず悩んでいます。
ただ、なるだけ汎用性を持たせたいと考えており、WindowsAPIを用いて実現したいと考えています(VCの掲示板なのにすみません)。
使用しているカメラはソニーのSNC-P5です。
以前BCB6を開発環境としてプログラミングしていたのですが、その際はHTTPのコンポーネントを用いて簡単に制御できていました(画像の取得はできてませんでしたが)。
今回、開発環境をVC.NET2003に変更する必要が生じ、同様のコンポーネントを探したものの見つからず、仕方なくWinSockを用いソケットプログラミングを試みたのですが、うまくいきません。
ソケット通信のフリーのデバッガソフトを用いてコマンドの送信内容をチェックしたところ、コマンド内容(例えば「192.168.〜.〜/ptzfcgi?AbsoluteZoom=0100,1」等)は正確に送られているようです。
また、HTTPTesterというフリーのソフト(これだとカメラの制御ができる)を用い、同様にコマンドの送信内容をチェックしたところ、コマンド以外にUser-Agent〜〜〜〜〜等が送られているようです。
おそらく、WinSockでは、TCP通信はできるけれど、HTTPのプロトコルは別途記述する必要があるのではないかと考えています。
ただ、WinSockを用いるのが果たしてベストなのか。。よく分かりません。
パンチルト制御等の「送信」と画像取得の「ストリーミング受信」を両方行うためには、どのような方法を用いるのが良いのでしょうか?
ご存知の方がいらっしゃれば、お教えいただきたいと思います。
よろしくお願い致します。
ところで、シレンさんは解決されたのでしょうか?
解決されたのでしたら、解決方法をお教えいただけませんでしょうか。
よろしくお願い致します。
HTTP通信としてはWinInetが用意されているようなので、これから試してみたいと思います。(結果は後日報告します)
ところで、画像取得としては、JPEGストリームを行いたいのですが、そもそもストリーミングの方法が分かっていません。
イメージとしては、連続して送られてくる画像をメモリに保存して、タイマを用いてフォーム上の領域に順次書き換えてやる感じでしょうか?(ちらつかないようにダブルバッファを用いて)
基本的なことを聞いているのだとは思いますが、簡単にでもアドバイス頂ければ幸いです。
よろしくお願い致します。
ツイート | ![]() |