opencv里main函数参数问题

问题描述

opencv里main函数参数问题
#include ""highgui.h""
#include ""stdio.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"");
return 0;
}
为什么生成的时候通过了,但是调试运行的时候出现中断(VS2013),在CMD里输入的路径和图片名称也不好使,提示程序出现了错误。希望行家给菜鸟解释一下

解决方案

单步调试跟踪一下,应该是某一步代码出错了。

解决方案二:
应该是argv[0],从下标0开始的。

解决方案三:
感谢两位的解答,问题已经解决
argv[0]是程序的名字,就是argv[1]
单步试了一下,还是在第一行IplImage *img = cvLoadImage(argv[1]);出现中断信息.
解决方法是:项目属性--调试-命令行参数-直接添加图片名称:Lena.jpg就可以了

时间: 2024-10-24 10:28:21

opencv里main函数参数问题的相关文章

C++main函数参数怎么传入

问题描述 C++main函数参数怎么传入 int main(int argc,char **argv) { ifstream infile; if (argc < 2 || !open_file(infile,argv[1])) { cerr << "No input file!" << endl; return EXIT_FAILURE; } 这是代码的前几行,执行之后我什么都没做,就输出"No input file!",不知道为啥

c/c++之:main函数参数

一.文章来由 一直知道但是没有深究的东西. 二.参数解释 说简单点就是: int argc;//表示读入字符串个数 char *argv[];//指针数组,用来存放读入的字符串 程序的意思逐个输出所有读入的字符串,每个字符串间空一个制表符间隔. 由于main函数不能被其它函数调用,因此不可能在程序内部取得实际值.那么,在何处把实参值赋予main函数的形参呢? 实际上,main函数的参数值是从操作系统命令行上获得的.当我们要运行一个可执行文件时,在DOS提示符下键入文件名,再输入实际参数即可把这些

C程序中如何调用main函数参数

main函数提供的含参原型如: int _tmain(int argc, _TCHAR* argv[]) { for(int i=0;i<argc;i++)  _tprintf(_T("%s\n"),argv[i]); return 0; } 或者如: int main(int argc, char **argv) { } linux下为: #include "/usr/include/stdio.h" int main(int argc, char **ar

javascript让setInteval里的函数参数中的this指向特定的对象_javascript技巧

看到这个题,我蒙了,因为那时候我不清除这个问题,想了半天没想出来,后来到网上一查,在国外的某网站查到说setInterval和setTimeout之后的函数的作用域是全局的,也就是里面的this指向的是全局对象. 这个问题可麻烦了,我经常要在循环函数里用this来引用当前对象,也许你想到可以用闭包,不过实际情况并非如此简单,对象实例多了之后,闭包也乱套了. 我的愿望就是让循环函数里的this仍然指向当前上下文的对象,无需传参数,无需闭包(其实这也是闭包,只是形式上看着比较自然而已); 例如:(一

main函数带参数C程序设计模板

/* 一个main含参程序的C语言设计模板,只需在结构体初始化中输入各个参数的性质及内容,就可以自动将参数分拣入结构体中. 命令执行方式如: 程序名 -a 参数1 -b 参数2 程序名 -?[-h] */ #include "stdafx.h" #define MAX_PARA 6 struct parameter { int ID;//参数编号 int content_num;//本参数后带的选项数目 bool IShave_prefix;//暂只接受必须使用-xx之类的参数前缀.

[C/C++基础知识] main函数的参数argc和argv

该篇文章主要是关于C++\C语言最基础的main函数的参数知识,是学习C++或C语言都必备的知识点.不知道你是否知道该知识?希望对大家有所帮助. 一.main()函数参数 通常我们在写主函数时都是void main()或int main() {..return 0;},但ANSI-C(美国国家标准协会,C的第一个标准ANSI发布)在C89/C99中main()函数主要形式为:(1).int main(void) (2).int main(int argc,char *argv[]) = int

main函数的参数(二)

图6-16中,argv[0]是程序名,argv[1]是r1的值,argv[2]是rs的值,argv[3]是屏幕的背景色.由于指针数组均存放字符串,所需的圆半径及背景色彩通过atoi()函数转换为整型.通过带参数的main()函数,我们可以为自己的程序设置口令,在运行程序的命令行中给出所需的口令,正确则继续,否则退出.程序图形输出如图6-17所示. [例6-30]将上述程序作修改,在程序的入口处添置密码,若给定密码正确,则显示图形.#include<graphics.h> #include &l

main函数的参数(一)

C程序最大的特点就是所有的程序都是用函数来装配的.main()称之为主函数,是所有程序运行的入口.其余函数分为有参或无参两种,均由main()函数或其它一般函数调用,若调用的是有参函数,则参数在调用时传递.main(){...y1=f1(x1,x2);...}f1(int a,int b){....Y2=f2(x3,x4);....}f2(int m,int n){.........}在前面课程的学习中,对main()函数始终作为主调函数处理,也就是说,允许main()调用其它函数并传递参数.事

c++main函数的命令行参数问题

问题描述 c++main函数的命令行参数问题 int main(int argcchar *argv[]);函数从命令行读取参数1.是不是只有生成了test.exe文件之后才能从命令行读取参数(因为我看见 好多都是在命令行输入test.exe后面再加一些参数这样子的),也就是说 我还在调试阶段就不能从命令行输入参数?2.没有从命令行输入参数的时候,argc=1,*argv[0]是程序的路径的名称,如果main后面的括号里面没有东西,是不是意味着我不能在命令行里运行他,因为找不到路径? 解决方案