2012-02-07 6 views
1

私はOpenCV 2.1(今日から始まった)、C++を使って以下のコードを使ってイメージを読むことを試みています。 次の問題は何かわかりません。何か助けていただけるとありがとうございます。あなたは問題が本当に、私は次のコードを指摘したいのかを教えていなかったのでイメージを読んで

int main(int argc, char** argv) 
{ 
int height,width,step,channels; 

//Load the image and make sure that it loads correctly 
IplImage* im = cvLoadImage("kermit.jpg", 1); 
if(!im) 
{ 
    //Drop out if the image isn't found 
    cout << "Failed to load: "<<"kermit.jpg"<<"\n"; 
return 0; 
} 
else 
{ 
    cout<<"Image was loaded with success "<<"kermit.jpg"<<"\n"; 
return (0); 
} 

height=im->height; 
width=im->width; 
step=im->widthStep; 
channels=im->nChannels; 

cout<<"(height, width)"<<height<<width<<"\n"; 


cvNamedWindow("kermit.jpj",CV_WINDOW_AUTOSIZE); 

cvShowImage("kermit.jpg", im); 
cvWaitKey(0); 
cvDestroyWindow ("kermit.jpg"); 

return 0; 
} 

答えて

1

は:

if(!im) 
{ 
    //Drop out if the image isn't found 
    cout << "Failed to load: "<<"kermit.jpg"<<"\n"; 
    return 0; 
} 
else 
{ 
    cout<<"Image was loaded with success "<<"kermit.jpg"<<"\n"; 
    return (0); 
} 

これは、ロードが失敗した場合は、アプリケーションを終了することを意味します読み込みに成功した場合は、も終了します。音が間違っている、そう?あなたは成功するとreturnしてはいけません。

ブロックelseブロックは不要なので、削除してもう一度やり直してください。残りのコードはOKと思われます。

+0

であり、それは溶液であった。ありがとうございました! –

+0

その場合は、公式に私の答えを選択してください。答えの近くにあるチェックボックスをクリックするだけです。またね。 – karlphillip

関連する問題