最近用C#做了一个小系统,基于B/S开发,其中有个小功能需要用到车牌识别。本人水平有限,在网上找到了一个车牌识别的列子,是用python开发的。于是我用pyinstaller将py文件打包成exe文件,用C#直接调用,传递参数并获取返回值。
首先是C#部分,直接上代码(写在webform中的page_load事件里,方便测试):
Process p = new Process();
p.StartInfo.FileName = Server.MapPath("~") + "testpath/dist/testpath/testpath.exe";//需要执行的文件,我把他放在了网站目录下
p.StartInfo.UseShellExecute = false; //必需
p.StartInfo.RedirectStandardOutput = true;//输出参数设定
p.StartInfo.RedirectStandardInput = true;//传入参数设定
p.StartInfo.CreateNoWindow = true;
p.StartInfo.Arguments = @"D:\RecognitionCarNum\img\5.jpg";//参数以空格分隔,如果某个参数为空,可以传入””
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();//关键,等待外部程序退出后才能往下执行}
Response.Write(output);//输出
p.Close();