csdnyiqixuexiba 2015-11-25 13:10 采纳率: 33.3%
浏览 2374
已采纳

opencv图片读入方式的区别

最近开始学习opencv,用的vs2013版的,看到网上有很多图片读取的代码,常见的有Mat img=imread("C:/../1.jpg"),括号里放的是图片的路径,但是有的是写的Mat img=imread(argv[1],1),而且代码中从头到尾也没有读取图片的路径,请问这是怎么回事,

  • 写回答

3条回答 默认 最新

  • hefei_cyp 2015-11-25 13:32
    关注

    首先知道什么是带参数的主函数:
    一般情况下(许多教科书中都没有说明),我们在写程序的时候,往往忽略了主函数的参数,例如:
    int main()
    {

    return 0;
    }
    在命令行下,输入程序的名称就可以运行程序了。实际上,我们还可以通过输入程序名和相关的参数来为程序的运行提供更多的消息。参数紧跟在程序名后面,参数之间用空格分开。
    这些参数被称为:command-line arguments(命令行参数),也往往被称为程序的argument list(参数表)。例如,在Linux终端,用户可以输入ls –l显示目录下文件的详细信息。这个命令中,ls是程序名称,用户调用该程序,它有一个输入参数-l。
    main函数通过两个参数获取输入参数表信息,分别是argc和argv。第一个参数是一个整型的变量,它记录了用户输入的参数的个数。第二个参数argv是一个char型的指针数组,它的成员记录了指向各参数的指针。argv[0]是程序名,argv[1]是第一个参数。
    例如:(TC3.0编译环境,Windows XP)
    #include
    int main(int argv, char *argc[])
    {
    printf("/nthe name of the program is %s /n", argc[0]);
    printf(" the program has %d argument! /n", argv - 1);
    if(argv > 1)
    {
    int i;
    printf("the arguments are:/n");
    for(i=1; i<argv; i++)
    {
    printf("%s/t",argc[i]);
    }
    }
    return 0;
    }

    当用户在命令行下输入:mytest
    输出:
    the name of the program D:/WINYES/TCPP30E/OUTPUT/MYTEST.EXT
    the program has 0 argument!
    当用户在命令行下输入:mytest aa bb cc dd e
    输出:
    the name of the program D:/WINYES/TCPP30E/OUTPUT/MYTEST.EXT
    the program has 5 argument!
    The arguments are:
    aa bb cc dd e

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 Jenkins+k8s部署slave节点offline
  • ¥15 微信小游戏反编译后,出现找不到分包的情况
  • ¥15 如何实现从tello无人机上获取实时传输的视频流,然后将获取的视频通过yolov5进行检测
  • ¥15 WPF使用Canvas绘制矢量图问题
  • ¥15 用三极管设计一个单管共射放大电路
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题