【发布时间】:2013-09-08 07:08:18
【问题描述】:
在以下程序中用于在openCV中加载和显示图像
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main( int argc, char** argv )
{
if( argc != 2)
{
cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
return -1;
}
Mat image;
image = imread(argv[1], CV_LOAD_IMAGE_COLOR); // Read the file
if(! image.data ) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl ;
return -1;
}
namedWindow( "Display window", CV_WINDOW_AUTOSIZE );// Create a window for display.
imshow( "Display window", image ); // Show our image inside it.
waitKey(0); // Wait for a keystroke in the window
return 0;
}
我无法理解程序员如何指定输入图像。这是因为 argv[1] 只是一个数组元素,我认为与要指定的图像没有关系,并且它还没有在程序的任何地方定义。有人能解开我的疑惑吗?
还有一件事:在检查 if(argc !=2) 的“if”语句中检查了什么?
【问题讨论】: