OpenCV开始用时的要注意的一个问题

来源:互联网 发布:阶段性数据如何呈现 编辑:程序博客网 时间:2024/06/08 13:17

在开始接触于仕琪的<<OpenCV教程>>时,里面经常会出现类似下面的语句:

 if( argc==2 && (src = cvLoadImage(argv[1], -1))!=0)

如果你直接在VC6.0里面打开程序编绎并运行,程序是不会运行的,因为这里的argc=1.

argc和argv来源于 int main(int argc,char**argv[]),argc表示命令行参数的个数,而argv是命令行的数值,需在Dos模式下给值.假设编绎好的程序名字为hello.exe,当在Dos模式下输入程序的路径名加上hello.exe hi good,此时argc=3,argv[0]="hello.exe",argv[1]="hi",argv[2]="good".

 在OpenCV的网站上有更直观的讲解:http://www.opencv.org.cn/index.php/Main%E5%87%BD%E6%95%B0%E5%8F%82%E6%95%B0argc%EF%BC%8Cargv%E8%AF%B4%E6%98%8E

不过以后在编绎里面的程序时可把上面那句程序改成

 if( argc==1 && (src = cvLoadImage("lena.jpg", -1))!=0),此时在VC6.0下编绎就可以直接运行了

这本书是一本好书,建议大家认真看一下,不过里面对各种涉及到的知识讲的不深,需配合其他专业书籍加以查找,才能从知其然到知其所以然.

                                                                                                                                                  涛