USBカメラからノートパソコンにつないで、
動画像をファイルとして保存するようなプログラムを
つくりたいのですが、どのようにしてよいかまったくわかりません。
静止画像の取り込みは出来たのですが、動画像となるとわからなくなってしまいました。
OpenCVというIntelが提供しているライブラリも多少はわかります。
なにか参考になるサイトや書籍、アドバイス等お願いします。
開発環境はVC++6.0、WindowsXPです。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

VCならDirectshowでやっても簡単に出来るかもです。



http://vision.kuee.kyoto-u.ac.jp/~hiroaki/firewi …
このサイトは基本的にはマイクロソフトのヘルプに解説を加えた感じですが、素っ気無いヘルプよりは大分分かりやすくまとまっていると思います。

参考URL:http://vision.kuee.kyoto-u.ac.jp/~hiroaki/firewi …
    • good
    • 0
この回答へのお礼

ありがとうございました。
カメラからPCに映像は流せるのですが、
やはりそれをファイルとして保存するやり方はわかりませんでした。

お礼日時:2003/10/27 19:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qゲームプログラミングについて

ゲームプログラミングについて
ゲームをプログラミングしたいのですが、(初心者なので・・)プログラミング方法がわかりません。
使う予定のソフトはMicrosoft Visual C++ 2010 Expressなのですが、
ウェブを調べると使ってるソフトが古くて参考になりません。

Aベストアンサー

プログラミング方法といっても
1)「プログラムの仕様」
2)「仕様」を満すために必要な「手段」「方法」
3)「手段」「方法」をプログラム言語で「表現」する方法
4)実際にプログラム言語で記述して、実行できる状態にする方法
などあります。

このうち、本当に「最新」の情報が必要なのは、4)くらい。
つまり、あなたの場合なら「Visual C++ 2010 Expressの操作方法」くらいのものです。

それ以外の「プログラミングの基礎」は20年前とそうかわってません。

QVC6.0からVC7.0への移植

VisualStudioでプログラムしています。
このたび、VC6.0で作ったプログラムをVC7.0(.NET?)に移植しようとしたところ、
「MSVCIRTD.LIBがありません」とエラーが出たので、
Microsoft Visual Studio\VC98\LibにあったMSVCIRTD.LIBをコピーしてコンパイルを通したのですが、
今度はvc60.pdbが見つからないというwarningが出てしまいます。
warningなので無視して実行しようとすると、
強制終了してしまいます。

VC6.0で作ったプログラムのファイル構成と比べると、
確かにvc70.pdbはあるのですが、vc60.pdbはありません。
ご存知の方がいましたら、問題の解決方法をご教授くださいよろしくお願いします。

Aベストアンサー

visual studio c++.net ですよね
(MSVCIRTD.LIB)
msvcirtd.libは
C:\Program Files\Microsoft Visual Studio .NET\Vc7\lib
にありますよ
ほかのサンプルでためして、同じようでしたら
インストールがおかしいのではないでしょうか

Q高校一年生です。 電子系の専門学校に行ってゲームプログラミングを勉強したいと思っています。 しかし、

高校一年生です。
電子系の専門学校に行ってゲームプログラミングを勉強したいと思っています。
しかし、専門学校に行く前になにか出来ることはないかと調べていたら、出来るだけ早くにゲーム作りをかじっておくと後が楽になると聞いたので、勉強したいのですが、勉強するプログラミング言語は何がいいでしょうか?またプログラミング言語は理解出来てもどうやってゲームを作るのかよく分かりません。

Aベストアンサー

プログラミングで一番必要なのは数学です。sin、cosが完全に分かりますでしょうか。
私は昔勉強したMSXベーシックの時代にゲームを作るためにsin・cosを勉強しなおしたことがあります。
正弦定理、余弦定理の証明は出来ますでしょうか?プログラムは実に数学の証明によく似ているのです。
 専門学校でも最低数Ⅲぐらいの数学の知識は必要ですので、しっかり数学を勉強して下さい。

QOpenCVでの静止画像の保存

書き込みさせていただきます。

今、OpenCVのサンプルにあるfacedetectをいじっているのですが、赤い円もしっかりと顔を認識することができました。
その中に静止画像の保存をするプログラムを入れたいのですが、実行をすると赤い円はしっかりと表示されるのですが、保存すると消えてしまいます。理由がまったくわからないので教えていただければ幸いです。

if( capture )
{
for(;;)
{
     //カメラからの入力画像1フレームをframeImageに格納する
frameImage = cvQueryFrame( capture );

if( !cvGrabFrame( capture ))
break;
frame = cvRetrieveFrame( capture );
if( !frame )
break;

if( !frame_copy )
frame_copy = cvCreateImage( cvSize(frame->width,frame->height),
IPL_DEPTH_8U, frame->nChannels );
if( frame->origin == IPL_ORIGIN_TL )
cvCopy( frame, frame_copy, 0 );
else
cvFlip( frame, frame_copy, 0 );
   //画像を輝度画像に変換,縮小,ヒストグラムを平坦化
detect_and_draw( frame_copy );

//画像を表示する
cvShowImage( windowNameCapture, frameImage );
//cvShowImage( windowNameFace, faceImage );

//キー入力が行われるまで表示を続ける
key = cvWaitKey( 2 );

//'c'キーが入力されったら画像を保存する
if ( key == 'c' ){
sprintf(filename,"C:/Documents and Settings/ryoji/My Documents/My Pictures/CV-P/fame%d.bmp", count);
 cvSaveImage(filename,frameImage);
 count++;
}

//'q'キーが入力されたらループを抜ける
else if ( key == 'q' ){
break;
}
}

cvReleaseImage( &frame_copy );
cvReleaseCapture( &capture );
}
facedetectのファイルの中にcが押されたら保存、qが押されたら終了にしています。保存、終了ともにできていますが、赤い丸だけ消えます。

よろしくお願いします。

書き込みさせていただきます。

今、OpenCVのサンプルにあるfacedetectをいじっているのですが、赤い円もしっかりと顔を認識することができました。
その中に静止画像の保存をするプログラムを入れたいのですが、実行をすると赤い円はしっかりと表示されるのですが、保存すると消えてしまいます。理由がまったくわからないので教えていただければ幸いです。

if( capture )
{
for(;;)
{
     //カメラからの入力画像1フレームをframeImageに格納する
frameImage = cvQueryFrame( c...続きを読む

Aベストアンサー

丸印を描画したイメージは frame_copy なのでは
cvSaveImageに与えている frameImageはカメラからのキャプチャー画像でその後加工していないようですが ・・・

QC言語のゲームのプログラミングの本教えてください

自分は現在高専の情報系の二年生です。
自分は将来はゲームのプログラマーになりたいと考えています。
そこで今から少しずつゲームのプログラミングについて学んでいこうと考えています。
色々な会社の採用情報をみると「C言語やアセンブラなどでのゲームのプログラミング経験があるといいです」みたいに書いていることがあります。
なのでせめてC言語のゲームのプログラミングの本を読んで学んでいきたいと考えています。
そこでおすすめの本があると言う方は教えてください。

Aベストアンサー

C言語が分かるなら、こちらで勉強されてはどうでしょうか?
「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]」
http://dixq.net/g/
質問掲示板もあります。

QOpenCVによる連続静止画保存

OpenCVとVisual Studio 2005を使ってカメラ画像を出力し、キーを押すことで画像をファイルに保存しています。しかし、キーを押すたびに画像が上書きされてしまい、結局保存ファイルは一つだけになってしまい連続して画像ファイルが取得できません。下記のプログラムで下のほうに書いてあるcvSaveImage()関数にうまくカウンタを使ってやればいいと思うのですが、私の技量ではできませんでした。知っている方がいたら教えてください。よろしくお願いします。

//---------------------------------------------------------
// 概要 : カメラからの入力画像をそのまま表示
// File Name : image.c
// Library : OpenCV for MS-Windows 1.0
//---------------------------------------------------------

#include <stdio.h>
#include <highgui.h>

int main( int argc, char** argv ){
int key;//キー入力用の変数
CvCapture *capture;//カメラキャプチャ用の構造体
IplImage *frameImage;//キャプチャ画像用IplImage
char windowNameCapture[] = "Capture";//キャプチャした画像を表示するウィンドウの名前

//カメラを初期化する
if ( ( capture = cvCreateCameraCapture( -1 ) ) == NULL ) {
//カメラが見つからなかった場合
printf( "カメラが見つかりません\n" );
return -1;
}

//ウィンドウを生成する
cvNamedWindow( windowNameCapture, CV_WINDOW_AUTOSIZE );

//メインループ
while ( 1 ) {
//カメラからの入力画像1フレームをframeImageに格納する
frameImage = cvQueryFrame( capture );

//画像を表示する
cvShowImage( windowNameCapture, frameImage );

//'q'キーが入力されたらループを抜ける
key = cvWaitKey( 1 );
if ( key == 'q' ) {
break;
}else if( key == 'c'){
cvSaveImage("picture.bmp", frameImage );
}


}

//キャプチャを解放する
cvReleaseCapture( &capture );
//ウィンドウを破棄する
cvDestroyWindow( windowNameCapture );

return 0;
}

OpenCVとVisual Studio 2005を使ってカメラ画像を出力し、キーを押すことで画像をファイルに保存しています。しかし、キーを押すたびに画像が上書きされてしまい、結局保存ファイルは一つだけになってしまい連続して画像ファイルが取得できません。下記のプログラムで下のほうに書いてあるcvSaveImage()関数にうまくカウンタを使ってやればいいと思うのですが、私の技量ではできませんでした。知っている方がいたら教えてください。よろしくお願いします。

//------------------------------------------------...続きを読む

Aベストアンサー

OpenCV というよりも単に文字列の問題ですよね?
例えば以下のようにします。


int main( int argc, char** argv ){
  // 以下二行追加
  int counter = 0;
  char str[32];

  /* 省略 */

    key = cvWaitKey( 1 );
    if ( key == 'q' ) {
      break;
    } else if( key == 'c'){

      // 以下二行追加、修正
      sprintf(str, "img_%04d.bmp", counter++);
      cvSaveImage(str, frameImage );
    }

  /* 省略 */


VC2005 では sprintf() に警告が出るかもしれませんので、
問題があれば sprintf_s() などを使って下さい。

Qゲームのプログラミングをしてみたい

超がつくほどのプログラミング初心者です。ゲームプログラミングって何から始めたらできるようになりますか?

Aベストアンサー

まずは遊びから。
RPGツクールでゲームを作ってみよう。
そこで変数や条件分岐などの仕組みを覚えるといい。

QVC++ 2010でOpenCVを使おうとしたら…

こんばんは。
Win7のパソコンでOpenCVをVisual C++ 2010 Expressで使おうとしているものです。
パソコンについてあまり詳しくないため、質問させて頂きました。

OpenCVについて初心者なので、
「OpenCV プログラミングブック 第2版」という専門書を購入し、
書いてあるとおりにインストールや設定を行っていき、
この専門書のサポートHPに乗っているサンプルプログラムをコピーして、
「デバッグ開始」を選択して、さぁ実行してやろうという矢先に、
以下のメッセージが表示されて、進まなくなってしまいました。


「プログラム 'C:\Users\○○\documents\visual studio
2010\Projects\image\Debug\image.exe'を開始できません。

指定されたファイルが見つかりません。」(○○は私のユーザー名です。)


表示されたフォルダを確認してみたところ、確かにその場所にimage.exeなるものは
存在していませんでした。
これは、初期設定を行っている際に、この.exeが作成されないような
設定を行ってしまっているのでしょうか?

同じような症状、またはどうすれば改善できるか分かる方、
どうかご教授をお願い致します。

長文失礼致しました。

こんばんは。
Win7のパソコンでOpenCVをVisual C++ 2010 Expressで使おうとしているものです。
パソコンについてあまり詳しくないため、質問させて頂きました。

OpenCVについて初心者なので、
「OpenCV プログラミングブック 第2版」という専門書を購入し、
書いてあるとおりにインストールや設定を行っていき、
この専門書のサポートHPに乗っているサンプルプログラムをコピーして、
「デバッグ開始」を選択して、さぁ実行してやろうという矢先に、
以下のメッセージが表示されて、進まなくなってしまいました。...続きを読む

Aベストアンサー

> LINK : error LNK2001: 外部シンボル "_mainCRTStartup" は未解決

int WinMain(...) から始まるWindowsアプリケーションにもかかわらず、
コンソールアプリケーションとしてプロジェクトを作っていませんか?
あるいはその逆とか。

Qプログラミング初心者です。 アプリやゲームの開発などで、プログラミング手法についての記述は情報が沢山

プログラミング初心者です。
アプリやゲームの開発などで、プログラミング手法についての記述は情報が沢山ありますが、そのコードがアプリやゲームとして形になる過程が分からないので、ぜひ教えていただきたいです。よろしくお願いします!

Aベストアンサー

簡単にいえば、

1)設計する。
2)必要なプログラムを作る。
3)プログラムが動くのに必要な環境やデータなどを用意する。
4)システムを動かす。

もっと詳細が知りたいなら、書店に行ってプログラム関係の書架を探しましょう。

QVC++6.0のリンクエラーです。

winmm.lib でinvalid or corrupt file のリンクエラーです。使用OSはXPです。 どうすればよいのでしょうか?

Aベストアンサー

invalid:無効
corrupt:壊れている

ライブラリが壊れてるようなので、一度修復なり再インストールなりする必要があるんじゃないですかねぇ。


人気Q&Aランキング

おすすめ情報