• 締切済み

OpenCVでのavi動画ファイルの指定

 現在Visual Studio 2005とOpenCVを用いて、avi動画を表示させようとしているのですが、ファイルを指定しても無いものと判断され出力できない状況です。同じような質問があったのですが、結局コマンドプロンプトの移動というのがよくわからなかったため分かる方がいたら教えていただきたいです。  avi動画ファイルはC:\\Documents and Settings\\user\\デスクトップ\\a.aviにあり、以下のプロジェクトファイルはC:\Documents and Settings\user\My Documents\Visual Studio 2005\Projects\cv\cvにあります。 //--------------------------------------------------------- // 概要 : 動画(aviファイル)読み込み // File Name : LoadVideo.cpp // Library : OpenCV for MS-Windows beta5 // Auther : Yasuhiro Yoshimura // Date : Dec 26, 2005; 22:22 //--------------------------------------------------------- #include "cv.h" #include "cxcore.h" #include "highgui.h" #include <stdio.h> //読み込む動画ファイル名 char* filename="C:\\Documents and Settings\\user\\デスクトップ\\a.avi"; //IplImage IplImage* src; int main(){ CvCapture* capture = NULL; int key; //キー入力 //指定したAVIファイルが見つからない場合 if(NULL==(capture = cvCaptureFromAVI(filename))){ fprintf(stderr,"指定のaviファイルが見つかりませんでした."); return -1; } //画像表示ウィンドウの準備 cvNamedWindow("Source Image", CV_WINDOW_AUTOSIZE); //画像表示ウィンドウの出現位置指定 cvMoveWindow("Source Image", 50, 50); //処理ループの開始 for(;;){ //AVIファイルからフレーム画像を取り出す if(NULL==(src=cvQueryFrame(capture))){ break; } //画像表示 cvShowImage("Source Image", src); //キー入力 key = cvWaitKey(10); //ESCキーを押すと終了 if(key==0x1b) break; } //解放 cvReleaseCapture(&capture); cvDestroyWindow("Source Image"); return 0; } よろしくお願いします。

みんなの回答

  • hidebun
  • ベストアンサー率50% (92/181)
回答No.3

努力は大事ですが、方向性を明確にしておかないとダメですよ。 私はこの問題について、 1.パス設定に問題はないか 2.AVIファイルのフォーマットに問題はないか の2点を明確にすることが必要だと考えます。 1.については、C:直下など、間違いようがない場所に、間違いようがないファイル名で指定する。(日本語ファイル名なども使わない) という方針で動いてはどうか、というのがNo.1の提案。 2.はフォーマット変換を伴う解決策なので提案しましたが、本当にこれで解決できるのかどうか、まずはVFWフォーマットのファイルを探して動作するかどうか、私なら確認します。 >自分なりに努力はしてみたんです>< 努力した内容を伝えて下さい。こちらはそれがわからないので、ひとつずつあなたに質問するしかないでしょ? 過去にも色々質問されているかもしれませんが、きちんと1つずつ回答を締めるのも、回答者に対する礼儀です。 適当に動かず、ステップを追って、論理的に解決して下さい。 ソフトウェアを組むために、大切な考え方です。

  • hidebun
  • ベストアンサー率50% (92/181)
回答No.2

>もちろん試しましたけど結果できなくて投稿してるんです そんなこと、質問文のどこにも書いてないけれど。 まあ、それはいいとして。 Google検索で「cvCaptureFromAVI」で、1件目にヒットする http://www.masayashi.com/2007/10/25/421 の情報は試しましたか。

judas15
質問者

お礼

言い方が悪くてすみません、自分なりに努力はしてみたんです>< ありがとうございます、調べて確かめてみます。

  • hidebun
  • ベストアンサー率50% (92/181)
回答No.1

AVIファイルをC:直下とかに置いて試してみる気ない?

judas15
質問者

補足

もちろん試しましたけど、結果できなくて投稿してるんです。 初心者ですみません。

関連するQ&A

  • OpenCVで携帯の動画をとりこみたいのですが、初心者のためやり方がわかりません。

    http://chihara.naist.jp/opencv/?%C6%B0%B2%E8%A5%D5%A5%A1%A5%A4%A5%E... 上記サイトのプログラムを参考にさせていただき、作ったのですが… OpenCV1.0とVisualStdio2008C++を使用しています。 aviファイルは携帯動画をMobile 3GP converterを用いて変換したものをC++のソースファイルが置いてあるところに置いています。 しかし、「指定のaviファイルが見つかりません」となってしまいます。 プログラムは以下の通りです #include "cv.h" #include "cxcore.h" #include "highgui.h" #include <stdio.h> //読み込む動画ファイル名 char* filename="C:\\Users\\kimi\\Documents\\Visual Studio 2008\\Projects\\movie\\movie\\test.avi"; //IplImage IplImage* src; int main(){ CvCapture* capture = NULL; int key; //キー入力 //指定したAVIファイルが見つからない場合 if(NULL==(capture = cvCaptureFromAVI(filename))){ fprintf(stderr,"指定のaviファイルが見つかりませんでした."); return -1; } //画像表示ウィンドウの準備 cvNamedWindow("Source Image", CV_WINDOW_AUTOSIZE); //画像表示ウィンドウの出現位置指定 cvMoveWindow("Source Image", 50, 50); //処理ループの開始 for(;;){ //AVIファイルからフレーム画像を取り出す if(NULL==(src=cvQueryFrame(capture))){ break; } //画像表示 cvShowImage("Source Image", src); //キー入力 key = cvWaitKey(10); //ESCキーを押すと終了 if(key==0x1b) break; } //解放 cvReleaseCapture(&capture); cvDestroyWindow("Source Image"); return 0; } aviファイルの置き場所が悪いのか、aviファイル自体に問題があるのかわかりません。 初心者のため、どうしたらaviファイルが認識されるかわからず困っています。 申し訳ないのですが、解決法をご指導ください。 よろしくお願いします。 補足

  • OpenCVを用いた動画処理

    OpenCVを用いてaviファイルの読み込み、および、書き込みをしようとしているのですが、 指定のaviファイルが見つかりませんでした. というエラー処理の表示しか行われず困っています。 教えていただけませんでしょうか? よろしくお願いします。 読み込もうとしているファイルはデスクトップ上のOpenCVというフォルダのinput.aviというファイルです。 プログラムは以下に残します。 #include "cv.h" #include "cxcore.h" #include "highgui.h" #include <stdio.h> //読み込む動画ファイル名 char* input_filename="input.avi"; //書き込む動画ファイル名 char* output_filename="output.avi"; //IplImage IplImage* src; IplImage* gray; IplImage* canny; int main(){ CvCapture* capture = NULL; int key; //キー入力 // Cannyオペレータのパラメータ------ double low_threshold=50.0; double high_threshold=200.0; int aperture_size=3; //--------------------------------- // ファイル書き込み設定-------------- CvVideoWriter *writer = 0; int isColor = 1; int fps = 30; // フレームレート int frameW = 320; // width int frameH = 240; // hight //----------------------------------- //指定したAVIファイルが見つからない場合は終了 if(NULL==(capture = cvCaptureFromAVI(input_filename))){ fprintf(stderr,"指定のaviファイルが見つかりませんでした."); return -1; } gray = cvCreateImage( cvSize(frameW,frameH), IPL_DEPTH_8U, 1 ); canny = cvCreateImage( cvSize(frameW,frameH), IPL_DEPTH_8U, 1 ); gray->origin = 1; //orginを入力側に合わせる canny->origin = 1; //orginを入力側に合わせる writer=cvCreateVideoWriter(output_filename,-1,fps,cvSize(frameW,frameH),isColor); //画像表示ウィンドウの準備 cvNamedWindow("Edge Image", CV_WINDOW_AUTOSIZE); //画像表示ウィンドウの出現位置指定 cvMoveWindow("Edge Image", 50, 50); //処理ループの開始 for(;;){ //AVIファイルからフレーム画像を取り出す if(NULL==(src=cvQueryFrame(capture))){ break; } //グレースケールに変換 cvCvtColor(src, gray, CV_BGR2GRAY); //Cannyオペレータによるエッジ検出 cvCanny(gray, canny, low_threshold, high_threshold, aperture_size); //フレーム書き込み cvWriteFrame(writer,canny); //画像表示 cvShowImage("Edge Image", canny); //キー入力 key = cvWaitKey(20); //ESCキーを押すと終了 if(key==0x1b) break; } //解放 cvReleaseVideoWriter(&writer); cvReleaseCapture(&capture); cvReleaseImage(&src); cvReleaseImage(&gray); cvReleaseImage(&canny); cvDestroyWindow("Edge Image"); return 0; } 以上です。 よろしくおねがいします。

  • visual studio 2010

    次のデータでUntitled 3.aviが読み込まれないんですけど、どうしてでしょうか??? これはネットからコピペしたデータの動画データだけ変更したやつなんですけど・・・ //--------------------------------------------------------- // 概要 : 動画(aviファイル)読み込み // File Name : LoadVideo.cpp // Library : OpenCV for MS-Windows beta5 // Auther : Yasuhiro Yoshimura // Date : Dec 26, 2005; 22:22 //--------------------------------------------------------- #include <cv.h> #include <cxcore.h> #include <highgui.h> #include <stdio.h> //読み込む動画ファイル名 char* filename="Untitled 3.avi"; //IplImage IplImage* src; int main(){ CvCapture* capture = NULL; int key; //キー入力 //指定したAVIファイルが見つからない場合 if(NULL==(capture = cvCaptureFromAVI(filename))){ fprintf(stderr,"指定のaviファイルが見つかりませんでした."); return -1; } //画像表示ウィンドウの準備 cvNamedWindow("Source Image", CV_WINDOW_AUTOSIZE); //画像表示ウィンドウの出現位置指定 cvMoveWindow("Source Image", 50, 50); //処理ループの開始 for(;;){ //AVIファイルからフレーム画像を取り出す if(NULL==(src=cvQueryFrame(capture))){ break; } //画像表示 cvShowImage("Source Image", src); //キー入力 key = cvWaitKey(10); //ESCキーを押すと終了 if(key==0x1b) break; } //解放 cvReleaseCapture(&capture); cvDestroyWindow("Source Image"); return 0; }

  • 実行結果をフォルダに格納

     aviファイルの動画を1フレームずつの画像に分けていくプログラムを作りました。  hogehoge%05d.jpgで画像ファイルを生成していくようにしているのですが、この実行結果から得られた画像を、すべてフォルダに格納するように改良したいのです。どうしたらいいでしょうか?  プログラムは以下です。 ------------------------------- /* 警告warningを出なくする */ #pragma warning(disable : 4996) #pragma warning(disable : 4244) /* リンクするOpenCVライブラリ指定 */ #pragma comment(lib,"cxcore.lib") #pragma comment(lib,"cv.lib") #pragma comment(lib,"highgui.lib") //#pragma comment(lib,"ipl.lib") #include <stdio.h> #include <stdlib.h> #include <string.h> #include "cxcore.h" #include "cv.h" #include "image.h" //読み込む動画ファイル名 char* filename="result1.avi"; //IplImage IplImage* src; int main(){ CvCapture* capture = NULL; int key; //キー入力 int fileCount; char fileName[256]; //指定したAVIファイルが見つからない場合 if(NULL==(capture = cvCaptureFromAVI(filename))){ fprintf(stderr,"指定のaviファイルが見つかりませんでした."); return -1; } //画像表示ウィンドウの準備 cvNamedWindow("Source Image", CV_WINDOW_AUTOSIZE); //画像表示ウィンドウの出現位置指定 cvMoveWindow("Source Image", 50, 50); //処理ループの開始 for(fileCount = 1;;fileCount++){ //AVIファイルからフレーム画像を取り出す if(NULL==(src=cvQueryFrame(capture))){ break; } //画像表示 cvShowImage("Source Image", src); //画像保存 sprintf(fileName,"hogehoge%05d.jpg",fileCount); cvSaveImage(fileName, src); // //キー入力 key = cvWaitKey(10); //ESCキーを押すと終了 if(key==0x1b) break; } //解放 cvReleaseCapture(&capture); cvDestroyWindow("Source Image"); return 0; } ---------------------------------

  • 【OpenCV】ハイビジョンaviファイル読み込み途中にファイルが終了してしまう問題

    現在、OpenCVを用いてハイビジョンのaviファイル(1440*1080)の画像処理を行うプログラミングを行っています。 aviファイルの読み込み・表示はOpenCVでは一般的な方法であるcvCaptureFromAVIとcvQueryFrameを用いて行っています。 この処理において最初の方はうまく処理が行えるのですが、処理が進むとファイルがまだ終わっていないのにも関わらず、cvQueryFrameでフレームが取得できず、処理が終了してしまいます。 ファイルが終了してしまうフレーム数も大体決まっており、mencoderで変換したファイルは約460フレーム目で、Adobe Media Encoderで変換したファイルは約910フレーム目でファイルが終了してしまいます。 メディアプレーヤーでaviファイルそのものを再生してみたところ、460フレーム目・910フレーム目以降のフレームも存在していることが確認されたので、本当にファイルが終了しているというわけではありません。 このままだと約30秒以上の動画は扱えず、非常に困っています。 確認として以下のプログラムで1000フレーム目から読み込むようにしてみたのですが、やはりすぐにファイルが終わってしまいます。 試しにハイビジョンでないaviファイル(640*480)で処理してみたところ正常に動作したのでエンコーダーの問題かプログラムの問題ではないかと思うのですが、何か少しでもお分かりの方がいらっしゃればご指導よろしくお願い致します。 <aviファイル読み込みプログラム> #include <stdio.h> #include <cv.h> #include <cxcore.h> #include <highgui.h> char input_name[] = "hogehoge.avi"; int main(int argc, char** argv) { int key, i = 0; CvCapture* capture = NULL; IplImage* img = NULL; char* captureWindow = "Capture"; double prop; if(NULL==(capture = cvCaptureFromAVI(input_name))){ printf("指定のaviファイルが見つかりませんでした.\n"); return -1; } cvNamedWindow(captureWindow, CV_WINDOW_AUTOSIZE); prop = 1000.0f;       cvSetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES, prop); for(;;) { if(NULL==(img=cvQueryFrame(capture))){ printf("movieファイルが終わりました。\n"); break; } cvShowImage(captureWindow, img); printf("No.%dframe\n", i); i++; key = cvWaitKey(1); if (key == 0x1b) { break; } } cvReleaseCapture(&capture); cvReleaseImage(&img); cvDestroyWindow(captureWindow); return 0; }

  • openCVの動画書き込みのプログラムを作っているのですが・・・

    openCVの動画書き込みのプログラムを作っているのですが・・・ openCVで、読み込んだ動画(元動画)を背景差分法で2値化処理して出来た動画を保存する、というプログラムを作っています。 しかし、保存された動画を見ると、上手く書き込まれていません。というのも、元動画は15秒あるのですが、保存された動画を見ると、わずか2秒ほどで再生が終わってしまいます。 以下がプログラムのソースです。 #include <stdio.h> #include <cv.h> #include <cxcore.h> #include <highgui.h> #define THRESHOLD_MAX_VALUE 255 #define THRESHOLD 45 #define WIDTH 960 #define HEIGHT 540 int main( int argc, char **argv ){ int key; CvCapture *capture = NULL; IplImage *frameImage; IplImage *backgroundImage = cvCreateImage( cvSize(WIDTH, HEIGHT), IPL_DEPTH_8U, 1 ); IplImage *grayImage = cvCreateImage( cvSize(WIDTH, HEIGHT), IPL_DEPTH_8U, 1 ); IplImage *differenceImage = cvCreateImage( cvSize(WIDTH, HEIGHT), IPL_DEPTH_8U, 1 ); IplImage *binaryImage = cvCreateImage( cvSize(WIDTH, HEIGHT), IPL_DEPTH_8U, 1 ); double fps = 30.0; CvVideoWriter* VideoWriter = cvCreateVideoWriter("binary.avi", CV_FOURCC('F','L','V','1'), fps, cvSize(WIDTH, HEIGHT), 0 ); if ( ( capture = cvCreateFileCapture( "00011.avi" ) ) == NULL ) { printf( "File Not Found\n" ); return -1; } frameImage = cvLoadImage("haikei.bmp"); if(frameImage == NULL){ printf("Can't Get\n"); return -1; } cvCvtColor( frameImage, backgroundImage, CV_BGR2GRAY ); while ( 1 ) { frameImage = cvQueryFrame( capture ); if ( frameImage == NULL ){ break; } cvCvtColor( frameImage, grayImage, CV_BGR2GRAY ); cvAbsDiff( grayImage, backgroundImage, differenceImage ); cvThreshold( differenceImage, binaryImage, THRESHOLD, THRESHOLD_MAX_VALUE, CV_THRESH_BINARY ); cvWriteFrame(VideoWriter, binaryImage); key = cvWaitKey( 10 ); if ( key == 'q' ) { break; } } cvReleaseCapture( &capture ); cvReleaseVideoWriter( &VideoWriter ); cvReleaseImage( &backgroundImage ); cvReleaseImage( &grayImage ); cvReleaseImage( &differenceImage ); cvReleaseImage( &binaryImage ); return 0; } 抽出している際に、プロンプト画面に Compiler did not align stack variables.~ と出てきます。 また、非圧縮などでやると再生が出来ません。 PC環境はWindowsXPです。 助けてください!!

  • テキストファイルに出力した結果の加算

     キーボードから'a'を入力した時点で'1'をテキストに書き込み、何も入力しない時は'0'を書き込むプログラムを作りました。  このプログラムを改良して、実行するたびに前のテキストの内容に実行結果を足していくようなプログラムを作りたいのですがどのように改良していけばよいでしょうか?  例えば、1回目に入力した時点と2回目に入力した時点がかぶっていたらテキストファイルにはその時点の数値が'2'となるようにしていきたいのです。  プログラムは以下です。 ------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <cxcore.h> #include <highgui.h> #include "cv.h" #include "image.h" #include "avi_w.h" //IplImage IplImage* src; IplImage* gray; IplImage* file; int main(void) { char wname[] = "input"; CvCapture* capture; IplImage *frame=NULL; char* captureWindow = "Capture"; int key; int count; int score[10000][1]; int i; int j=1; int k=0; char filename[256]; FILE *fp,*fq; time_t timer; struct tm *date; char str[1000]; //AVIファイルの読み込み・出力 capture = cvCaptureFromFile("video.avi"); cvNamedWindow(wname,1); frame = cvQueryFrame(capture); //キャプチャサイズを知るために画像取得 //変数群の定義 CvVideoWriter* VideoWriter = NULL; char* file = "movie.avi"; // 出力ファイル名 double fps = 30.0; // ビデオのフレームレート //ビデオファイル書き込みの設定 VideoWriter = cvCreateVideoWriter(file,-1,fps,cvSize(frame->width,frame->height),1); //画像表示ウィンドウの出現位置指定 cvMoveWindow(wname, 300, 300); //ファイルオープン fp = fopen("frame.txt","w"); fprintf(fp,"フレーム\n"); for(count=1;;count++){ frame = cvQueryFrame(capture); cvShowImage(wname,frame); key = cvWaitKey(30); if(frame == NULL) break; /*キー入力*/ else if(key == 'q') break; else if(key == 'a'){ //ビデオファイル書き込み cvWriteFrame(VideoWriter,frame); key = cvWaitKey(1); printf("aが%dフレーム目で入力されました\n",count); /*現在時間の取得*/ timer = time(NULL);/* 経過時間を取得 */ date = localtime(&timer);/* 経過時間を時間を表す構造体 date に変換 */ strftime(str, 255, "%Y, %B, %d, %A %p%I:%M:%S", date); printf("%s\n\n", str); //テキストファイルに出力 fprintf(fp,"[%03d] ",count); fprintf(fp," 1\n"); } else{ fprintf(fp,"[%03d] ",count); fprintf(fp," 0\n"); } } cvReleaseVideoWriter(&VideoWriter); cvReleaseCapture( &capture ); cvDestroyAllWindows(); fclose(fp); return 0; } ----------------------------------------------

  • 【OpenCV】BGRからHSVへの画像変換

    OpenCVを使って任意の画像データをBGR表色系からHSV表色系に変換するプログラムです。 コンパイルして実行してみたところ、添付画像のように元画像とは色味が異なった画像が出力されてしまいます。 他の画像ファイルを使ってみましたが結果は同じでした。 HSVへの変換がうまくいってないのでしょうが、調べても原因は分かりませんでした。 どなたか分かる方がいらっしゃいましたらご指摘お願いします。 以下にコードを載せます。 #include <cv.h> #include <highgui.h> int main (int argc, char **argv){ IplImage *src_img=0; // 入力画像 IplImage *hsv_img=0; // hsvに変換された画像 // (1)画像を読み込む src_img = cvLoadImage (argv[1], CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR); // (2)読み込んだ画像をhsvに変換する hsv_img = cvCreateImage (cvGetSize (src_img), IPL_DEPTH_8U, 3); cvCvtColor (src_img, hsv_img, CV_BGR2HSV); // (3)画像を表示,キーが押されたときに終了 cvNamedWindow ("Source_Image", CV_WINDOW_AUTOSIZE); cvNamedWindow ("HSV_Image", CV_WINDOW_AUTOSIZE); cvShowImage ("Source_Image", src_img); cvShowImage ("HSV_Image", hsv_img); cvWaitKey (0); // (4)メモリ解放 cvDestroyWindow ("Source_Image"); cvDestroyWindow ("HSV_Image"); cvReleaseImage (&src_img); cvReleaseImage (&hsv_img); return 0; } OS:Windows7 OpenCVのバージョン:2.1 添付画像で用いた画像の形式:png

  • OpenCV プログラムについて

    webカメラを表示するプログラムをつくりました。 しかし、webカメラのウィンドウが小さいのでフルウィンドウにして表示させたいです。 どうすればフルウィンドウでwebカメラを表示することができますか? 解答よろしくお願いします #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; } } // キャプチャを解放する cvReleaseCapture( &capture ); // ウィンドウを破棄する cvDestroyWindow( windowNameCapture ); return 0; }

  • OpenCVでキャプチャした画像をbmp保存したい

    OpenCVでカメラからキャプチャした画像(コマ画像)をbmpで保存しようと思っています。 以下のプログラムで一応bmp画像は保存できるのですが、キー入力をしないと保存できません。 #include <iostream> #include <stdio.h> #include <cv.h> #include <highgui.h> #include <math.h> #include <stdlib.h> int main(void){ //画像保存用 char str[32]; //キー入力用 int key; //カメラの用意 CvCapture *capture; IplImage *frame = NULL; //カメラ画像用 //カメラ・デバイスの先頭ポインタを取得 capture = cvCaptureFromCAM(-1); //カメラ画像のサイズ double height = 240; double width = 320; //カメラ初期化 if(capture == NULL){ //カメラが見つからなかった場合 printf("カメラが見つかりません\n"); return (0); } //カメラ画像を表示するウィンドウの生成 cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT, height); cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH, width); cvNamedWindow("CaptureFromCamera", CV_WINDOW_AUTOSIZE); //キー入力されたら画像をキャプチャ while(1){ //カメラ画像からフレーム画像を取り込む frame = cvQueryFrame(capture); if(frame == NULL) break; //画像の表示 cvShowImage("CaptureFromCamera", frame); //sキー入力で画像を保存、Escキー入力でループから抜ける key = cvWaitKey(10); if(key == '\x1b') break; else if(key == 's'){ sprintf(str, "Capture_Bitmap.bmp"); cvSaveImage(str, frame); } } //キャプチャの解放 cvReleaseCapture(&capture); //ウィンドウの破棄 cvDestroyWindow("CaptureFromCamera"); } 自分が作りたいプログラムは、 ・カメラからコマ画像を取得 ↓ ・それをbmp形式にする ↓ ・変換した画像はファイルにではなく、プログラム中の変数に保存 ↓ ・プログラムが動いている間ずっとこの処理を行う というものです。 特に変換した画像をプログラムが動いている間、ずっと変数に保存し続ける方法がわかりません。 プログラム中の変数に保存したい理由は、保存したコマ画像を用いてテンプレートマッチングなどを行いたいからです。 どなたか教えていただけると助かります。

専門家に質問してみよう