AccessViolation Exception

仕事でもはんだづけ、家でもはんだづけ

紙媒体でも実行したい

f:id:kamiyaowl:20150103020550p:plain

というわけでふと写真等からソースコードを生成して実行してみようと思った。

初めにペイントでHello Worldを書いたもの

f:id:kamiyaowl:20150103020745p:plain

を、Tesseract-ocrで文字解析( c#で書いた

1.tesseract-ocrはnugetから導入。

2.適当に画像に前処理する(OpenCVSharp

3.走らせる

using (var engine = new TesseractEngine(traineddataPath, "eng", EngineMode.Default))
using (var src = new System.Drawing.Bitmap(path)) {
    //ホワイトリスト処理とか云々

    var result = engine.Process(src);
    return result.GetText();
}

4.適当なファイルに書き出してコンパイル・実行する

using (var p = new System.Diagnostics.Process() {
    StartInfo = {
        FileName = System.Environment.GetEnvironmentVariable("ComSpec"),
        UseShellExecute = false,
        RedirectStandardOutput = true,
        RedirectStandardInput = true,
        CreateNoWindow = true,

    }
}) {
    p.Start();
    using (var sw = p.StandardInput) {
        sw.WriteLine(@"cd {0} /w", Assembly.GetEntryAssembly().Location);
        sw.WriteLine(@"gcc -std=c99 -o {1} {0}", srcPath, outPath);
        sw.WriteLine(@"exit");
    }
    var result = p.StandardOutput.ReadToEnd();
}

f:id:kamiyaowl:20150103021534p:plain

階乗


f:id:kamiyaowl:20150103022048p:plain

f:id:kamiyaowl:20150103022208p:plain

次は写真からきれいなソースコードを起こす作業か...寝よ