問題タブ [libgphoto2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - raspbian の lighty/lighttpd で gphoto2 を実行
PHPコマンドexecでこのコマンドを実行しようとしました:
有効なファイル名を使用し、bash で変数のパラメーターを指定してコマンドを実行すると、機能します。ただし、phpではそうではありません。exec コマンドの応答がありません。
lighty と php5 モジュールで raspbian を使用しています。それは他のサンプルでも問題なく機能します。shell_execも成功せずに試しました。
誰かが私を助けることができますか?
c++ - cmake を使用して 2 つのライブラリを自分のプログラムにリンクするにはどうすればよいですか?
libgphoto2 と opencv3.0 の 2 つのライブラリを使用するプログラムを c++ で作成したいと考えています。したがって、私は自分で書いたヘッダー ファイルを含めたいと思います。ウィッチには、libgphoto2 ライブラリで定義された関数を利用するいくつかの関数が含まれており、opencv をインポートするメイン ソース コードに含まれています。2 番目のヘッダー ファイルは、一部の定数のみを定義し、外部ライブラリは使用しません。
両方のライブラリが私の macbook に機能的にインストールされています。cmake を使用して、それらのいずれかを使用する作業プログラムを作成およびコンパイルできますが、上記の問題を解決するための cmake の構文はよくわかりません... ところで、find_package は両方のライブラリで機能します!
フォルダ構造は次のとおりです。
私の CMakeLists.txt ファイル:
$ cmake と入力します。エラーなしでビルドファイルを書き込みます。しかし、その後、 $ make と入力すると、次のエラーが表示されます。
ソースコード:
takeShowAdjust.cpp:
mh_camera_control.hpp:
cv_supplement.hpp:
では、2 つのライブラリを正しくリンクするにはどうすればよいでしょうか。私は何を間違っていますか、または何が欠けていますか?
事前にどうもありがとうございました!
c++ - gp_camera_file_get はどのように機能しますか?
libgphoto2 は初めてで、実際の画像メモリがどこにあるかについていくつか質問がありました。と呼ばれるオブジェクトを介して写真にアクセスしているようですCameraFile。という関数を持つ sample-capture.c というソースに含まれている例がありますcapture_to_memory。
その関数では、 CameraFile オブジェクトが作成され、 を使用して初期化されますgp_file_new。の実装により、accesstype メンバが に設定されgp_file_newたオブジェクトが作成されます。CameraFileGP_FILE_ACCESSTYPE_MEMORY
そのCameraFileオブジェクトは次に に渡されますgp_camera_file_getが、この関数で何が起こるかはよくわかりません。
への呼び出し後gp_camera_file_get、ファイルは に送信されgp_file_get_data_and_sizeます。その関数の実装を見ると、ファイルのアクセス タイプがGP_FILE_ACCESSTYPE_MEMORYである場合、gp_file_get_data_and_size関数はメモリを割り当てず、代わりに CameraFile のデータ メンバ (サイズと同じ) にポインタを割り当てるだけです。
では、このポインタが指しているメモリはどこにあるのでしょうか? それは実際のカメラにありますか?それとも私のRAMのどこかにありますか?できるだけ多くのメモリ操作を避けようとしています。素敵なブログ記事を見つけました
http://sepharads.blogspot.com/2011/11/camera-tethered-capturing-using.html?m=1
を介してCameraFileオブジェクトが作成されgp_file_new_from_fdます。これにより、ファイルのアクセス タイプが に設定されますGP_FILE_ACCESSTYPE_FD。このgp_file_get_data_and_sizeアクセス タイプのファイルに対して が呼び出されると、新しいメモリが割り当てられ、ファイルのデータがそこにコピーされます。ただし、これはディスクから読み取られるか、少なくとも FD は Unix ファイル記述子を意味し、実際のファイル名文字列が必要であるためだと思います。gp_camera_file_getCameraFile の accestype が の場合、データをディスク上のファイルに読み込むということGP_FILE_ACCESSTYPE_FDですか?
という機能がありますgp_file_free。FDファイルの場合、ファイルハンドルを閉じますが、free(file->data)どこにも呼び出されないので、かなり混乱しています...
何をしgp_camera_file_getますか?実装はそこにありますが、それはちょっと私を投げました。実際にカメラのメモリからコンピュータのメモリにファイルを移動し、CameraFile->dataRAM に割り当てますか? それとも、カメラに保存されているものへのハンドルを与えるだけですか?
ここで質問するのが間違っていたら申し訳ありません。libgphoto2 のメーリング リストを見たことがありますが、どれだけ活発かはわかりませんでした。
linux - Linux の gphoto2 で写真をバースト キャプチャする
写真、電子機器、ソフトウェア、またはここが最適な場所かどうかはわかりません。Canon PowerShot G9 カメラがあり、Linux で gphoto2 を使用して USB 経由で制御しています。
写真を連続して撮影し、コンピューターにコピーする必要があります (非同期でも問題ないため、写真を最大速度で撮影し、転送をキューに入れることができます)。
gphoto2 を使用すると、次のような連続キャプチャを実行できます。
gphoto2 --capture-image -F <frames> -I <seconds>
これにより、キャプチャ間の最大 4 秒 (0.25 fps) が得られます。カメラのプラグを抜いてバースト モードを使用すると、0.8 fps で撮影できます。gphoto2 で接続するとバースト設定を変更できないようです。libgphoto2 を C で直接使用するサンプル コードをいくつか試してみましたが、それはさらに遅くなりました。このカメラでより高速なキャプチャを実現するにはどうすればよいですか? または、これを可能にするカメラはどれですか?
linux - localhost php の gphoto2 スクリプト
Ubuntu 15 の LAMP で gphoto2 コマンドを実行しようとしています。これは私の PHP スクリプト c.php です。
これを端末で実行すると正常に動作しますが、ブラウザーでhttp://localhost/mycam/c.phpを使用して実行すると実行されません。
php - MAMPを使用してPHPサーバーにgPhoto2パッケージをインストールするにはどうすればよいですか
PHP サーバー (MAMP) にパッケージ gphoto2 をインストールしようとしています。コンピューターに gphoto を既にインストールしていますが、動作しますが、gphoto を php Web サイトに統合したいです。実際にこれを試してみます。
そして、私はこれをリターンとして持っています:
wp-content/themes/barberry/script.sh: line 6: gphoto2: command not found
MacOS にも brew をインストールしましたが、gphoto2 を MAMP にインストールできません。ありがとうございます !
php - PHP コマンドから MPlayer を起動する
私は写真ブースを作成するプロジェクトに取り組んでいます。私はカメラ (canon 550d) と、私が書いた Web ページを表示するタッチスクリーン PC (ubuntu を実行) を持っています。
gphoto2を使用して、Web ページ内からデジタル一眼レフを制御していexec()ます。簡単に写真を撮ることができます。
私の問題は、人々が写真を撮る前に、カメラからのライブプレビューも表示したいということです。これで、境界のないウィンドウ内で MPlayer インスタンスを開くスクリプトの準備が整いました。このウィンドウもすべての上に表示されます。コードは次のファイルにありますlive.sh。
基本的に gphoto2 は fifo.mjpg にストリーミングし、MPlayer はそのファイルを再生します。
ターミナルからこれを実行すると、すべて正常に機能します。
PHP内から同じコマンドを実行しても機能しません
これら2つの環境から実行したときに得られる出力を見てください
ターミナルからの実行(これは機能します):
すべてのエラーにもかかわらず、すべてが驚くほどうまく機能します。
これは、PHP で exec() から実行したときに得られる出力です (これは機能しません)。
誰かがこれを機能させる方法について何かアイデアを持っているなら、私はとても感謝しています.
ありがとうございました!
libgphoto2 - 同型カメラ2台の見分け方 gphoto2
まったく同じタイプのカメラが 2 つあるとします。どのポートに接続されているかわからない場合、一方を他方とは対照的にどのように適切に使用すればよいでしょうか?
名前でカメラを選択できることは知っていますが、両方とも同じ名前です。ドライブで選択できることは知っていますが、ユーザーがカメラを接続したポートを確実に知ることはできません。
つまり、カメラを反復処理し、要約に基づいて適切なカメラを選択する必要があります。残念ながら、カメラが他の接続されたカメラと同じタイプである場合、カメラを一意に識別する静的プロパティがあるとは言えません。
gphoto2 --camera-summary と入力すると、次のようになります。
シリアル番号などのプロパティは含まれません。
gphoto2 --get-config serialnumber も試してみましたが、奇妙な結果が得られました。
読んでくれてありがとう!
macos - gphoto2 の現在のステータスを取得する
--wait-event-and-download 引数を指定して gphoto を実行しているため、赤外線リモートを使用して撮影した写真がコンピューターに保存されます。
次のように、待機プロセスを中断してプログラムで写真を撮るように設定された 2 つ目のスクリプトがあります。
しかし、中断する前に、最初の待機イベント プロセスが現在画像をダウンロードしていないことを確認したいと考えています (これにより、カメラの RAM が画像でいっぱいになり、それ以上の操作ができなくなるという厄介な状況が発生します)。したがって、2 番目のスクリプトは次のようになります。
誰かがそのifステートメントで私を助けることができますか? 実行中の gphoto プロセスの現在の出力行を読み取ることはできますか?
c++ - Homebrew を使用してインストールした C ライブラリの使用方法
Homebrew を使用して、C++ を使用するカメラ制御アプリケーションで使用する gphoto2 と libgphoto2 をインストールしました。ヘッダー ファイルが /usr/local/includes にリンクされていることを確認しました。
システム上のインクルード フォルダーのスクリーン キャプチャ
https://github.com/gphoto/libgphoto2/tree/master/examplesで入手可能なサンプル コードに基づいて、ヘッダー ファイルにアクセスするなどのインクルードを使用できるはず#include <gphoto2/gphoto2.h>ですが、そのアプローチは両方を使用して失敗しましたコンパイラとして Clang と Xcode。ファイルが見つかりません。私は何を間違っていますか?