帮忙分析下一个程序(opencv程序)
int main( int argc, char** argv )
{
namedWindow( window_name, CV_WINDOW_AUTOSIZE );
/// 载入原图像
src = imread( "D://Qtimage//bh.jpg", 1 );
if( display_caption( "Original Image" ) != 0 ) { return 0; }
dst = src.clone();
if( display_dst( DELAY_CAPTION ) != 0 ) { return 0; }
waitKey(0);
return 0;
}
int display_caption( char* caption )
{
dst = Mat::zeros( src.size(), src.type() );
putText( dst, caption,
Point( src.cols/4, src.rows/2),
CV_FONT_HERSHEY_COMPLEX, 1, Scalar(255, 255, 255) );
imshow( window_name, dst );
int c = waitKey( DELAY_CAPTION );
if( c >= 0 ) { return -1; }
return 0;
}
int display_dst( int delay )
{
imshow( window_name, dst );
int c = waitKey ( delay );
if( c >= 0 ) { return -1; }
return 0;
}
程序效果是先显示一段时间的“original image ” 图标,然后在显示一段时间的图像(scr),我搞不清楚他的延时机制,比如if( display_caption( "Original Image" ) != 0 ) { return 0; }这句话怎么就能使得“original image”图标延时给定的时间然后自动消失进而显示图片呢?他的display 函数什么时候返回0什么时候返回-1,? if( display_caption( "Original Image" ) != 0 ) { return 0; }中return 0是啥意思?