• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:OpenCVで画像保存を随時保存していくには)

OpenCVで画像保存を随時保存する方法

このQ&Aのポイント
  • OpenCVで画像保存を随時保存する方法がわからない
  • 現在OpenCVでボタンを押すごとに画像を保存していくプログラムを作っているが、上書きしかされない
  • どうすればimageフォルダにresult0からaを押すごとにresult1・result2と保存していけるかわからない

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

ちょっと自分もそのプログラムを参考に作ってみました。 #include <stdio.h> #include <string.h> #include <conio.h> #include <cv.h> #include <highgui.h> #include <ewclib.h> #define xx 640 #define yy 480 int main (int argc, char *argv[]) { char filename[20]; int count = 0; IplImage *frame; cvNamedWindow("Movie"); // カメラの準備(ブラックボックス) ※CaptureFromCam()と同義 frame = cvCreateImage(cvSize(xx,yy),8,3); if(EWC_Open(0, xx, yy, 15, 0, MEDIASUBTYPE_RGB24)){ printf("Failed to open the camera device.\n"); getch(); return 1; } EWC_SetBuffer(0,frame->imageData); // ブラックボックスここまで while(1) { EWC_IsCaptured(0); // 1フレーム取得 ※CvQueryFrame()と同義 cvShowImage("Movie",frame); if(cvWaitKey(33)==13){ // Enterキー押下 sprintf(filename,"image/result%d.jpg",count); cvSaveImage(filename,frame); count++; printf("Successed : result%d.jpg\n",count); } if(cvWaitKey(33)==27) break; // ESCキー押下で終了 } } この場合はEnterを押すたびにimage/result○○.JPGを保存するプログラムになりました。 環境の都合上、CaptureFromCam()は用いずに、ewclib.hのライブラリを参照しているので、 そのあたりは置き換えてください。 自分もまだC言語初心者なので、偉そうなことはいえませんが、参考になれば幸いです。 あと、質問中の、 "cvSaveimage"→"cvSaveImage" ですが、これは打ち間違いでしょうかね・・・?

enchan01
質問者

お礼

ありがとうございます!! まさかの一番最後にあった訂正文を直したら、通ったという恥ずかしいミスをしていたようです;; しかしsoltyさんのプログラムを拝見させていただいて、ewclib.hを知ることが出来ました。 まだこのewclib.hに関しては全然分かってないので、学びつつ自分が作ったプログラムとどちらがいいか評価してみたいと思います。勉強になりました、ありがとうございました^^

関連するQ&A