こんにちは私は以下のコードを実行しようとしていますが、cvCreateFileCapture関数に問題があります。OpenCv Visual C++ 2010 Express問題
#include "stdafx.h"
#include <iostream>
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
using namespace std;
int main(int argc, char** argv) {
cvNamedWindow("Example2", CV_WINDOW_AUTOSIZE);
// CvCapture* capture = cvCaptureFromAVI(argv[1]); // either one will work
CvCapture* capture = cvCreateFileCapture("test.avi");
IplImage* frame;
while(1) {
frame = cvQueryFrame(capture);
if(!frame) break;
cvShowImage("Example2", frame);
char c = cvWaitKey(33);
if(c == 27) break;
}
cvReleaseCapture(&capture);
cvDestroyWindow("Example2");
}
当初、私は行方不明msvcr90d.dllファイルに関するエラーを取得しました。私は2008年をダウンロードしてプラットフォームのツールセットの設定を変更しなければなりませんでした。私がこれをした後、私は以下のエラーを受けました。どんな助けでも大歓迎です。
私はVStudio内からアプリケーションを実行すると、ソースコードファイルと同じディレクトリにあるビデオを見つけようとします。アプリケーションがビデオファイルをロードするかどうかを確認する方法の1つは、ビデオをDebug(またはRelease)フォルダに入れてそこからアプリケーションを手動で実行することです。動画とアプリの両方が同じディレクトリになければなりません。 – karlphillip
申し訳ありませんが不明な場合は、もはやNULLを返していません。 cvCreateFileCaptureが終了する前に、エラーメッセージがポップアップします。 –
OpenCVのためにVS 2008をインストールしたので、使用しないでください。エラーmsgは、VS2010をまだ使用していることを明確に示しています。 ** OpenCV 2.3 **には** VS2008 **のパッケージが含まれています:http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.3/ – karlphillip