当前位置: 首页 > 知识库问答 >
问题:

OpenCV示例项目中作为参数传递图像文件

洪哲彦
2023-03-14
Not enough parameters
Program arguments:
<image_name> <template_name> [<mask_name>]
public void run(String[] args) {
        if (args.length < 2) {
            System.out.println("Not enough parameters");
            System.out.println("Program arguments:\n<image_name> <template_name> [<mask_name>]");
            System.exit(-1);
        }
        img = Imgcodecs.imread(args[0], Imgcodecs.IMREAD_COLOR);
        templ = Imgcodecs.imread(args[1], Imgcodecs.IMREAD_COLOR);
        if (args.length > 2) {
            use_mask = true;
            mask = Imgcodecs.imread(args[2], Imgcodecs.IMREAD_COLOR);
        }
        if (img.empty() || templ.empty() || (use_mask && mask.empty())) {
            System.out.println("Can't read one of the images");
            System.exit(-1);
        }
        matchingMethod();
        createJFrame();
}
public class MatchTemplateDemo {
    public static void main(String[] args) {
        // load the native OpenCV library
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        // run code
        new MatchTemplateDemoRun().run(args);
    }
}

共有1个答案

颛孙子民
2023-03-14

是的,您需要传递文件路径。如果从命令提示符运行它,它将如下所示:

java MatchTemplateDemo "C:/.../Image.png" "C:/.../Template.png"

如果您使用的是IDE,那么您可以使用以下链接运行带有参数的程序:

  1. Eclipse:Eclipse命令行参数
  2. IntelliJ IDEA:如何在IntelliJ IDEA中输入命令行参数?
  3. Netbeans:Netbeans如何在Java中设置命令行参数
 类似资料:
  • 我一直在使用缓冲本地驱动器上的文件来解析和获取某些数据。出于测试目的,我可以很容易地这样做: 文件阅读器。java文件具有以下功能: 现在,我希望将文件路径作为命令行参数传递。我尝试了一些方法,但我对这方面还是有点陌生,没能成功。有人能帮我解释一下我需要做什么样的更改才能将这些更改合并到我的代码中吗。

  • 问题内容: 我试图编写一个程序来通过args读取文本文件,但是当我运行它时,它总是说找不到该文件,即使我将其放置在与我正在运行的main.java相同的文件夹中。有谁知道我的问题的解决方案或更好的阅读文本文件的方法? 问题答案: 请勿在中使用相对路径。 它将变成相对于当前工作目录的,这取决于您如何运行应用程序,而该方法又是无法从应用程序内部进行控制的。这只会导致可移植性麻烦。如果从Eclipse内

  • 问题内容: 我读了很多文章,尝试了很多事情,但仍然无法通过xsl在参数中找到值。我从java的sun xalan开始,但是从来没有运行过,所以我改用saxon无济于事。我想将两个xml文档与xls合并为一个。永远不要在文件系统上,这是用于构建xml字符串/ docs的Web应用程序。我尝试将DTMAxisIterator,DomSource,Doc传递给以xsl,字符串设置的Node。在带有xsl

  • 问题内容: 我有3类调用,和。 在我的课程中,我想要一个这样的方法: 因此,例如,我想: 如何将类名作为参数,并基于该类名从类名创建适当的对象? 问题答案: 使用反射是可能的。这里是给定的className(作为字符串传递)。此类将在内存中搜索(应该已经加载)。 作为字符串传递时要实例化的类的名称应 完全限定

  • 我有一个简单的方法,我想把片段名作为参数传递。我几乎没有像这样的碎片 1) AddNewDatesFragment 2) AskFragment 3)免责声明片段 我有下面的代码可以正常工作 我想在方法中编写一些代码,在这里我可以调用这样的方法 等 我曾经尝试过这样的代码,但在if条件下不工作会导致编译时错误。 我对实施这种方法感到好奇。谢谢

  • 问题内容: 如何在不执行“父”函数或不使用函数的情况下将函数作为参数传递?(因为我已经读到它是不安全的。) 我有这个: 它可以工作,但是问题是在调用函数时触发,而不是在函数中使用时触发。 根据我所读的内容,我可以使用来解决它,但这不是最佳实践。如何在JavaScript中将函数作为参数传递? 问题答案: 您只需要删除括号: 然后,这将传递函数而不先执行它。 这是一个例子: