Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在Java上使用AKAZE(OpenCV)_Java_Opencv - Fatal编程技术网

无法在Java上使用AKAZE(OpenCV)

无法在Java上使用AKAZE(OpenCV),java,opencv,Java,Opencv,我正在用Java、OpenCV和Maven进行一个图像识别项目。不幸的是,我看到了以下错误: “java.io.IOException:无法运行程序”akaze/bin/akaze_match“:CreateProcess错误=2,系统找不到指定的文件 原因:java.io.IOException:CreateProcess error=2,系统找不到指定的文件“ 程序在指定的目标中创建该.json文件;但是.json文件总是空的 相关代码为: 私有字符串runAkazeMatch(字符串对象\

我正在用Java、OpenCV和Maven进行一个图像识别项目。不幸的是,我看到了以下错误:

“java.io.IOException:无法运行程序”akaze/bin/akaze_match“:CreateProcess错误=2,系统找不到指定的文件

原因:java.io.IOException:CreateProcess error=2,系统找不到指定的文件“

程序在指定的目标中创建该.json文件;但是.json文件总是空的

相关代码为:
私有字符串runAkazeMatch(字符串对象\文件名,字符串场景\文件名)引发InterruptedException,IOException{
长时间戳=System.currentTimeMillis();
字符串jsonFilename=“target/keypoints/keypoints”+timestamp+“.json”;
info(“Json文件应位于:{}”,jsonFilename);
File File=新文件(jsonFilename);
文件.getParentFile().mkdirs();
createNewFile();
System.out.println(file.getParentFile().mkdirs());
字符串[]akazeMatchCommand={“akaze/bin/akaze_match”,对象_文件名,场景_文件名,“--json”,jsonFilename,“--dthreshold”,“0.0000000000 1”};
试一试{
ProcessBuilder p=新的ProcessBuilder(AkazeMatch命令);
进程进程=p.start();
InputStream stdin=proc.getInputStream();
InputStreamReader isr=新的InputStreamReader(标准输入);
BufferedReader br=新的BufferedReader(isr);
字符串行=null;
而((line=br.readLine())!=null)
系统输出打印(“.”);
int exitVal=proc.waitFor();
logger.info(“Akaze匹配进程已退出,值为:“+exitVal”);
}捕获(可丢弃的t){
t、 printStackTrace();
}
如果(!file.exists()){
error(“错误:Akaze图像识别失败。未创建json文件”);
返回null;
}否则{
返回jsonFilename;
}

}
运行程序时,您确定当前工作目录中存在
akaze/bin/akaze\u匹配吗?@Seelenvirtuose是。我在Internet上找到了“/akaze/”目录所需的文件。但我还是犯了同样的错误。我想你不明白我的意思:你当前的工作目录中有
/akaze/bin/akaze\u match
还是
akaze/bin/akaze\u match
?运行程序时您知道当前的工作目录吗?我理解你的意思,是的,在我当前的工作目录中有/akaze/bin/akaze_match。