一个简单的显示图像程序
#include "highgui.h"
int main( int argc, char** argv )
{
IplImage* img = cvLoadImage( argv[1] );
cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE );
cvShowImage("Example1", img );
cvWaitKey(0);
cvReleaseImage( &img );
cvDestroyWindow("Example1");
}
程序的含义很简单,书中有详细的解释,这里主要写一下程序编译后如何来运行,以及Main函数中参数argc,argv的含义。
这里将程序存放在桌面名为Tests的文件夹中,工程名为test,执行指令如下:
这里就涉及了Main函数的两个参数的问题,两个参数的作用是什么呢?argc 是指命令行输入参数的个数,argv存储了所有的命令行参数。以上图为例,程序名为test.exe,在命令行运行该程序(首先应该在命令行下用 cd 命令进入到 teat.exe 文件所在目录)。
#include "highgui.h"
int main( int argc, char** argv )
{
IplImage* img = cvLoadImage( argv[1] );
cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE );
cvShowImage("Example1", img );
cvWaitKey(0);
cvReleaseImage( &img );
cvDestroyWindow("Example1");
}
程序的含义很简单,书中有详细的解释,这里主要写一下程序编译后如何来运行,以及Main函数中参数argc,argv的含义。
这里将程序存放在桌面名为Tests的文件夹中,工程名为test,执行指令如下:
![](https://img-my.csdn.net/uploads/201203/26/1332724561_9038.jpg)
这里就涉及了Main函数的两个参数的问题,两个参数的作用是什么呢?argc 是指命令行输入参数的个数,argv存储了所有的命令行参数。以上图为例,程序名为test.exe,在命令行运行该程序(首先应该在命令行下用 cd 命令进入到 teat.exe 文件所在目录)。
那么argc的值为2,argv[0]是“test.exe”,argv[1]是“clockA.bmp”。
程序的运行结果如下图:
下面是OpenCV中文网站上对这两个参数的实例解释:
下面的程序演示argc和argv的使用:
#include <stdio.h>
int main(int argc, char ** argv)
{
int i;
for (i=0; i < argc; i++)
printf("Argument %d is %s.\n", i, argv[i]);
return 0;
}
假如上述代码编译为hello.exe,那么运行
hello.exe a b c d e
将得到
Argument 0 is hello.exe.
Argument 1 is a.
Argument 2 is b.
Argument 3 is c.
Argument 4 is d.
Argument 5 is e.
运行
hello.exe lena.jpg
将得到
Argument 0 is hello.exe.
Argument 1 is lena.jpg.