一、简述
很多的基于python的深度学习的库或者框架,不只是进行推理,还包含推理前的图像预处理和推理后的数据解析的程序。所以在使用的时候如果不基于python使用,那就还需要很多额外工作,还需要自行编写代码处理推理前的图像处理和推理后的数据解析等等。
有的时候确实挺麻烦的,还是直接使用python更easy一点。但如果不是基于python的接口服务或者桌面应用等,就会涉及到跨语言调用的情况。
下面说一下基于c#的调用。
二、基于C#的调用
直接上代码,下面的代码主要是基于c#的Process,直接调用python.exe,执行py脚本。需要提前安装好python环境和需要的包,并且准备好python代码。
private List<string> results = new List<string>();
//基于Process的调用
private void call_python_ocr(string pic_path)
{
final_res.Clear();
Process p = new Process();
// 获得python文件的绝对路径(将文件放在c#的debug文件夹中可以这样操作)
//string path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + sArgName;
//(因为我没放debug下,所以直接写的绝对路径,替换掉上面的路径了)
string path = @"D:\MyOCR\recognition.py";
//可以写python.exe的绝对路径。如果配了环境变量,直接写"