ページ 11

アプリケーションが正しく初期化されない  ことについて

Posted: 2010年1月27日(水) 15:49
by rokoroko
失礼します。
プログラムを実行してみたところ、「アプリケーションが正しく初期化されまぜんでした(0xc0150002)」
というウィンドウがでてきてそのまま閉じてしまいます。
OpenCVを使っていないプログラム(DirectX)などは動くので、OpenCVが問題だとは思うのですが、OpenCVの設定に問題があると思っています。
この問題が解決しないと、先に進めないのでかなり深刻な問題です。

前に質問したwindows.hはVC++を完全にアンインストールして再インストールしたら解決しました。
環境はwindows vista VC++2008です。opencvはver1.1を使用しています。


どうか助言をよろしくお願いします。

Re:アプリケーションが正しく初期化されない  ことについて

Posted: 2010年1月27日(水) 16:08
by たかぎ
> プログラムを実行してみたところ、

どんな?

Re:アプリケーションが正しく初期化されない  ことについて

Posted: 2010年1月27日(水) 21:16
by rokoroko
#include <stdio.h>
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>

int main( void ){
    CvCapture* capture;
    cvNamedWindow( "1",CV_WINDOW_AUTOSIZE);
    cvNamedWindow( "2",CV_WINDOW_AUTOSIZE);
    IplImage* frameImage;
    char key;

    
    if ( ( capture = cvCaptureFromCAM( 0 ) ) == NULL ){
        printf("みつかりません");
        cvWaitKey(0);
        cvReleaseCapture( &capture);
        return 0;
    }
    
    frameImage = cvQueryFrame( capture );
    IplImage* smoothImage = cvCreateImage(
        cvGetSize(frameImage),
        IPL_DEPTH_8U,
        3
    );



    while(1){
        frameImage = cvQueryFrame( capture );
        cvSmooth(frameImage, smoothImage ,CV_GAUSSIAN, 3, 3 );
        cvShowImage("1", frameImage);
        cvShowImage("2", smoothImage);
        key = cvWaitKey(1);
        if(key =='q'){
            break;
        }
    }


    cvReleaseCapture( &capture);
    cvDestroyWindow("1");
    cvDestroyWindow("2");
}
です。
簡単なプログラムです。
基本的にOpenCVを使うと質問のような状態になってしまいます。
おそらく原因はwindows.hが見つからないためにSDkをインストールして、その対処のために一回VC++を安易ストールしてしまったからだと思います。

Re:アプリケーションが正しく初期化されない  ことについて

Posted: 2010年1月27日(水) 21:30
by Justy
 使っている opencvを全て今の環境でビルドし直してみてはどうでしょうか?
 或いは、

ダウンロードの詳細 : Visual C++ 2005 SP1 再頒布可能パッケージ (x86)
http://www.microsoft.com/downloads/deta ... laylang=ja

を入れると直るかもしれません。

Re:アプリケーションが正しく初期化されない  ことについて

Posted: 2010年1月28日(木) 02:35
by rokoroko
>使っている opencvを全て今の環境でビルドし直してみてはどうでしょうか?
というのは、OpenCVをアンインストールしてから再インストールするということでしょうか?
それについてはやってみましたが、治りませんでした。

VC++はいま2008を使っているのですが、2005にしたほうがいいのでしょうか?
正直な話、グレードダウンするのはちょっと抵抗があるのですが……

Re:アプリケーションが正しく初期化されない  ことについて

Posted: 2010年1月28日(木) 07:58
by じゅんだった
横からでごめんなさい。
Justyさんが書かれている内容にかぶるのですが、某掲示板のスレッド”Visual Studio 2008 Part 14”の164-175に同じような経緯のやりとりがあるようです。

http://www.unkar.org/read/pc11.2ch.net/tech/1230008197

>>171
http://d.hatena.ne.jp/piy/20081130/1228020473

上記スレッドの方がVC++の2008を使っている上で対処されたのかどうかは判りませんが、ダメもと。でやってみる手はあるかも。

Re:アプリケーションが正しく初期化されない  ことについて

Posted: 2010年1月28日(木) 10:48
by Justy
>OpenCVをアンインストールしてから再インストールするということでしょうか?
 違います。
 ソースからライブラリをビルドする、ということです。