使用python-shell Node.js包时脚本失败

时间:2017-03-29 18:32:52

标签: node.js python-2.7 opencv npm

所以我有一个非常奇怪的问题。我有一个python脚本,其功能是分析图像并生成输出字符串。我决定使用包'python-shell'将这个脚本实现到我的NodeJS服务器的后端。有趣的是,这个脚本在运行时非常有效。它能够分析图像并生成输出字符串。但是,当我尝试运行'python-shell'包时,会产生一个错误(与python代码相关)。我已经测试过,python-shell运行的是与终端上使用的python相同的版本,所以我不能100%确定为什么会出现这个问题。作为参考,下面的代码是我运行脚本的方式:

#include "opencv2/imgcodecs.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/imgproc.hpp"
#include <iostream>

using namespace std;
using namespace cv;
int main()
{ int i=0,j,nbr=0,nbr1=0;


Mat image=imread("2_.png",CV_LOAD_IMAGE_GRAYSCALE);
Mat image2=imread("2_.png",CV_LOAD_IMAGE_GRAYSCALE);

for(i=0;i<image.rows;i++)
{
    for( j=0;j<image.cols;j++)
    {if (image.at<int>(i,j)!=0)
           nbr++;
     if (image2.at<int>(i,j)!=0)
           nbr1++;
    }
}
printf("%d\n %d\n",nbr,nbr1);


    return 0;}

同样,当手动运行脚本时(即python myscript.py -p image.jpg),它运行得非常好。我可以在myscript.py中包含代码,虽然我怀疑这会有所帮助,因为它似乎与实际的python代码不一致。使用包括OpenCV在内的几个软件包分析图像(我相信,产生的错误基于此)。任何提示都非常感谢!

1 个答案:

答案 0 :(得分:0)

更改默认路径 pythonshell.defaultOptions = { scriptPath: '/path/to/myscript.py' };