【问题标题】:readin an image读取图像
【发布时间】:2012-02-29 05:24:27
【问题描述】:

我正在尝试使用以下代码使用 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;
}

【问题讨论】:

    标签: c image opencv


    【解决方案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,因此请将其删除并重试。其余的代码好像没问题。

    【讨论】:

    • 这样的话,请选择我作为官方的回答。只需单击答案附近的复选框即可。回头见。
    猜你喜欢
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    相关资源
    最近更新 更多