Node.js raspberry pi 3中的节点openalpr编译但不识别平板图像

Node.js raspberry pi 3中的节点openalpr编译但不识别平板图像,node.js,raspbian,openalpr,Node.js,Raspbian,Openalpr,我正在用openalpr做一个项目,用node.js做一个raspberry pi 3 我已经编译了OpenAlpr并从命令行开始工作,现在我正在尝试使用节点OpenAlpr模块从图像中识别车牌,并找到下一个结果: 以root用户身份运行程序: pi@raspberrypi:~/nodeopenalpr $ sudo node index.js Before Start. Start: true Before getting version version: 2.2.4 Before loo

我正在用openalpr做一个项目,用node.js做一个raspberry pi 3

我已经编译了OpenAlpr并从命令行开始工作,现在我正在尝试使用节点OpenAlpr模块从图像中识别车牌,并找到下一个结果:

以root用户身份运行程序:

pi@raspberrypi:~/nodeopenalpr $ sudo node index.js
Before Start.
Start:  true
Before getting version
version:  2.2.4
Before loop:  0
Before IdentifyLicense Execution
pi@raspberrypi:~/nodeopenalpr $
以当前用户身份运行程序:

pi@raspberrypi:~/nodeopenalpr $ node index.js
Before Start.
Start:  true
Before getting version
version:  2.2.4
Before loop:  0
Before IdentifyLicense Execution
working
exception in identify method:  ReferenceError: identifyResult is not defined
    at identify (/home/pi/nodeopenalpr/index.js:19:38)
    at Object.<anonymous> (/home/pi/nodeopenalpr/index.js:36:3)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)
    at Function.Module.runMain (module.js:575:10)
    at startup (node.js:160:18)
    at node.js:456:3
After loop:  0
Before loop:  1
Before IdentifyLicense Execution
Segmentation fault
pi@raspberrypi:~/nodeopenalpr $
pi@raspberrypi:~/nodeopenalpr$node index.js
开始之前。
开始:对
在获取版本之前
版本:2.2.4
前循环:0
在识别许可证执行之前
工作
identify方法中出现异常:ReferenceError:未定义identifyResult
在identify(/home/pi/nodepenalpr/index.js:19:38)
反对。(/home/pi/nodepenalpr/index.js:36:3)
在模块处编译(Module.js:541:32)
在Object.Module._extensions..js(Module.js:550:10)
在Module.load(Module.js:458:32)
在tryModuleLoad时(module.js:417:12)
在Function.Module.\u加载(Module.js:409:3)
位于Function.Module.runMain(Module.js:575:10)
启动时(node.js:160:18)
在node.js:456:3
后循环:0
前循环:1
在识别许可证执行之前
分段故障
pi@raspberrypi:~/nodepenalpr$
我使用的软件版本如下:

  • OpenAlpr(以最困难的方式编译的v2.2.4)
  • Node.js(v6.2.1)
  • npm(v3.9.3)
这是我正在运行的代码:

        // statements
var openalpr = require ("node-openalpr");
//console.log("OPENALPR: ", openalpr);

function identify (id, path) {
    try {
        // statements
        console.log("Before IdentifyLicense Execution");
        console.log(openalpr.IdentifyLicense (path, function (error, output) {
            console.log("Finish IdentifyLicense. Output: ", output);
            console.log("Finish IdentifyLicense. Error: ", error);
            var results = output.results;
            console.log (id +" "+ output.processing_time_ms +" "+ ((results.length > 0) ? results[0].plate : "No results"));

            if (id == 349) {
                console.log (openalpr.Stop ());
            }
        }));
        console.log("After plate identification: ", openalpr);
    } catch(e) {
        // statements
        console.log("exception in identify method: ", e);
    }
}

try {
    console.log("Before Start.");
    console.log("Start: ", openalpr.Start ("/usr/local/share/openalpr/config/openalpr.defaults.conf", "/usr/local/share/openalpr/runtime_data", 4,true));

    console.log("Before getting version");
    console.log("version: ", openalpr.GetVersion ());

    for (var i = 0; i < 350; i++) {
        console.log("Before loop: ", i);
        identify (i, "/home/pi/nodeopenalpr/lp.jpg");
        console.log("After loop: ", i);
    }
} catch(e) {
    // statements
    console.log("Exception captured: ", e);
}
//语句
var openalpr=require(“节点openalpr”);
//log(“OPENALPR:,OPENALPR”);
功能标识(id、路径){
试一试{
//声明
console.log(“在识别许可证执行之前”);
log(openalpr.IdentifyLicense(路径、函数(错误、输出)){
log(“finishidentificationlicense.Output:”,Output);
日志(“Finish identificationlicense.Error:,Error”);
var结果=输出结果;
console.log(id++output.processing_time_ms++)((results.length>0)?results[0]。图版:“无结果”);
如果(id==349){
console.log(openalpr.Stop());
}
}));
控制台日志(“铭牌识别后:”,openalpr);
}捕获(e){
//声明
log(“标识方法中的异常:”,e);
}
}
试一试{
log(“启动前”);
log(“Start:”,openalpr.Start(“/usr/local/share/openalpr/config/openalpr.defaults.conf”,“/usr/local/share/openalpr/runtime_data”,4,true));
log(“获取版本前”);
log(“版本:”,openalpr.GetVersion());
对于(变量i=0;i<350;i++){
log(“在循环之前:”,i);
识别(i,“/home/pi/nodepenalpr/lp.jpg”);
log(“在循环之后:”,i);
}
}捕获(e){
//声明
log(“捕获的异常:”,e);
}
我试着弄明白这几次。我将非常感谢你的帮助


赫克托(Héctor)

最好把所有东西都打印出来,而不是截图。通过这种方式,谷歌可以对日志进行爬网,其他有你问题的人可以在这里结束(可能有一个解决方案,因为他们自己解决了这个问题?谁知道呢:D)。在高级版中,谢谢你,我只是做了些更改。如果所有内容都被键入,而不是有屏幕截图,那就太好了。通过这种方式,谷歌可以对日志进行爬网,而其他有问题的人可以在这里结束(可能有一个解决方案,因为他们自己解决了这个问题?谁知道呢:D)。高级感谢,我刚刚改变了