下のコードで
do {
cap >> frame; // キャプチャ
} while (frame.empty()); //正しくキャプチャされるまで待つ
をいれないと、エラーを吐くので
実行したところ いつまでたっても
ループを脱けられない。
どうやら Cap にデータが入ってきていないような感じ。
指定したキャプチャ番号に何もなければ
if (!cap.isOpened()) return -1;
で弾かれて終わるので、そこまではいいんじゃないかと思う。
・・・う-------ん 困った。 ( ΄◞ิ .̫.̫ ◟ิ‵)
------------------------------------------------------
#include
#include
int
main(int argc, char *argv[])
{
cv::VideoCapture cap(1);
// 様々な設定...
//cap.set(CV_CAP_PROP_FRAME_WIDTH, 640);
//cap.set(CV_CAP_PROP_FRAME_HEIGHT, 480);
// カメラがオープンできたかの確認
if (!cap.isOpened()) return -1;
cv::namedWindow("Capture", CV_WINDOW_AUTOSIZE | CV_WINDOW_FREERATIO);
while (1) {
cv::Mat frame;
do {
cap >> frame; // キャプチャ
} while (frame.empty()); //正しくキャプチャされるまで待つ
cv::imshow("Capture", frame); // 表示
//
//取得したフレーム画像に対して,クレースケール変換や2値化などの処理を書き込む.
//
int key = cv::waitKey(1);
if (key == 113)//qボタンが押されたとき
{
break;//whileループから抜ける.
}
else if (key == 115)//sが押されたとき
{
//フレーム画像を保存する.
cv::imwrite("img.png", frame);
}
}
cv::destroyAllWindows();
return 0;
}
OPENCV3.1でのキャプチャ
Re: OPENCV3.1でのキャプチャ
デバイス番号に1を指定しているのが正しいのだとして…
operator>> ではなく,grab()とretrieve()を使って,エラーが返されていないか確認してみては?
(まぁ,エラーが返ってたとして,じゃあどうすりゃいいの?ってのはあるが…)
operator>> ではなく,grab()とretrieve()を使って,エラーが返されていないか確認してみては?
(まぁ,エラーが返ってたとして,じゃあどうすりゃいいの?ってのはあるが…)
Re: OPENCV3.1でのキャプチャ
わぁ!コメントいただけているなんて!
ありがとうございました。
色々弄っているうちに とりあえずは動作いたしました。
まだほんの駆け出しの初心者でして
これからもよろしくお願い致します。
ありがとうございました。
色々弄っているうちに とりあえずは動作いたしました。
まだほんの駆け出しの初心者でして
これからもよろしくお願い致します。
Re: OPENCV3.1でのキャプチャ
...原因はopencv3.1を使っていながら ソリューション構成を32ビットにしていたこととか リンカの設定をシていなかったためだったり などだったなんて 恥ずかしくてよう言いません(T_T)
Re: OPENCV3.1でのキャプチャ
OpenCVは利用者数が微妙(?)なので,
利用者を見つけては何か情報を引き出せないかと近づいております(いきなり本音).
そんなわけで,今後ともよろしくお願いします.
カメラキャプチャは,いきなり引数が謎で困るんですよね.
とりあえずデフォルトっぽい値入れとくと,他者のノートPCで内蔵カメラになったりして地獄見るんだけど,
カメラ番号の妥当な選択方法が不明なので解決策が無いという.
(「1」とかだけ書かれたテキストファイルを読み込ませる日々…)
>原因はopencv3.1を使っていながら ソリューション構成を32ビットにしていた
「64bitでビルドしたOpenCVを 32bit設定のプロジェクトで使おうとしていた」 的な話…でしょうか?
利用者を見つけては何か情報を引き出せないかと近づいております(いきなり本音).
そんなわけで,今後ともよろしくお願いします.
カメラキャプチャは,いきなり引数が謎で困るんですよね.
とりあえずデフォルトっぽい値入れとくと,他者のノートPCで内蔵カメラになったりして地獄見るんだけど,
カメラ番号の妥当な選択方法が不明なので解決策が無いという.
(「1」とかだけ書かれたテキストファイルを読み込ませる日々…)
>原因はopencv3.1を使っていながら ソリューション構成を32ビットにしていた
「64bitでビルドしたOpenCVを 32bit設定のプロジェクトで使おうとしていた」 的な話…でしょうか?
Re: OPENCV3.1でのキャプチャ
USAOさん ほんとうにすみません
大幅に御返事が遅れました。
こちらこそ、今後とも宜しくお願い致します。
OPENCVですが、「64bitでビルドしたOpenCVを 32bit設定のプロジェクトで使おうとしていた」 的な話…ですww
これで結構ハマりました~~~(TдT)
あれからPCの電源が飛び 起動できなくなり
んじゃ、この際10年ものの 中身を総とっかえしたら
こんどはマザボとキャプチャボードの相性が合わなくなって認識できず
メーカーのサポートを巻き込んで一月以上 (まだ継続中です。)
ただ、PCIExpressのものをUSB3.0接続の商品に変えて頂けたので
とりあえず再開でき始めたところです。
そんなこんなで しばらく 触れていなかったので ほぼ忘却してしまいまして
リハビリ中ですw
「カメラ番号の妥当な選択方法が不明なので解決策が無いという.
(「1」とかだけ書かれたテキストファイルを読み込ませる日々…)」
これ 環境によっては最初に選択できるフォームは 番号を -1 にしたら出ることもあります。(出ないこともあるw)
いまは Aforgeをつついております。
導入もサンプルもnugetインストールで すぐ動きます ただ表示するだけならこれでもいいなかと思いますよ。
お悩みのキャプチャ番号あたりのことも安定してできるだろうなと思いました。
http://note.websmil.com/vb/aforge/vb-ne ... 6%E5%BE%97
VB.netでもC#でも使えるようです。
http://robot-factory.blogspot.jp/2013/1 ... genet.html
今困っているのは Aforgeでキャプチャはすぐ映りましたが
回転 反転させると 表示できないところです。
実はその件で質問しようと 舞い戻ったところで 書き込んでいただいたのに気づきまして・・・^^;
ほんとすみませんでした。
大幅に御返事が遅れました。
こちらこそ、今後とも宜しくお願い致します。
OPENCVですが、「64bitでビルドしたOpenCVを 32bit設定のプロジェクトで使おうとしていた」 的な話…ですww
これで結構ハマりました~~~(TдT)
あれからPCの電源が飛び 起動できなくなり
んじゃ、この際10年ものの 中身を総とっかえしたら
こんどはマザボとキャプチャボードの相性が合わなくなって認識できず
メーカーのサポートを巻き込んで一月以上 (まだ継続中です。)
ただ、PCIExpressのものをUSB3.0接続の商品に変えて頂けたので
とりあえず再開でき始めたところです。
そんなこんなで しばらく 触れていなかったので ほぼ忘却してしまいまして
リハビリ中ですw
「カメラ番号の妥当な選択方法が不明なので解決策が無いという.
(「1」とかだけ書かれたテキストファイルを読み込ませる日々…)」
これ 環境によっては最初に選択できるフォームは 番号を -1 にしたら出ることもあります。(出ないこともあるw)
いまは Aforgeをつついております。
導入もサンプルもnugetインストールで すぐ動きます ただ表示するだけならこれでもいいなかと思いますよ。
お悩みのキャプチャ番号あたりのことも安定してできるだろうなと思いました。
http://note.websmil.com/vb/aforge/vb-ne ... 6%E5%BE%97
VB.netでもC#でも使えるようです。
http://robot-factory.blogspot.jp/2013/1 ... genet.html
今困っているのは Aforgeでキャプチャはすぐ映りましたが
回転 反転させると 表示できないところです。
実はその件で質問しようと 舞い戻ったところで 書き込んでいただいたのに気づきまして・・・^^;
ほんとすみませんでした。
最後に編集したユーザー Tino on 2017年6月11日(日) 11:13 [ 編集 1 回目 ]
Re: OPENCV3.1でのキャプチャ
質問掲示板側には,返信しなきゃ的な圧力(?)がある気がしますが,
こっちは「日記」なのですから,特にそういうのは無いと捉えていますよ.
>Aforge
おお,知らないライブラリの情報! 機会があったら試してみようかな.
(広く知られていないライブラリだと仕事で使うのは難しいけど)
こっちは「日記」なのですから,特にそういうのは無いと捉えていますよ.
>Aforge
おお,知らないライブラリの情報! 機会があったら試してみようかな.
(広く知られていないライブラリだと仕事で使うのは難しいけど)