Program.cs 1.8 KB
using Newtonsoft.Json;
using OpenCvSharp;
using System;
using System.Collections.Generic;
using System.Dynamic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace wafer_die_counter
{
    internal static class Program
    {
        /*
         Exit Code: 
            9 参数不正确
            1 没有找到圆心
            2 二值化

         */

        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main(string[] argvs)
        {
            if (argvs.Length >= 2)
            {
                string srcfile = argvs[0];
                string resultfile = argvs[1];
                var res = Counter.docount(srcfile, resultfile);
                Console.WriteLine(JsonConvert.SerializeObject(res));
                
            }
            else
            {
                OpenFileDialog openFileDialog = new OpenFileDialog();
                openFileDialog.Filter = "*.PNG|*.PNG";
                openFileDialog.Multiselect = false;
                openFileDialog.ShowDialog();

                if (File.Exists(openFileDialog.FileName)) {
                    string srcfile = openFileDialog.FileName;
                    string resultfile = Path.GetDirectoryName(srcfile) +"\\"+Path.GetFileNameWithoutExtension(srcfile)+"_Mark.png";
                    var res = Counter.docount(srcfile, resultfile, true);
                    Console.WriteLine(JsonConvert.SerializeObject(res));
                    Cv2.WaitKey(100000);
                    Cv2.WaitKey(100000);
                }
            }
        }
        
        //{
        //    Application.EnableVisualStyles();
        //    Application.SetCompatibleTextRenderingDefault(false);
        //    Application.Run(new Form1());
        //}
    }
}