コード例 #1
0
        //public List<IParameter> ParameterList = new List<IParameter>();

        //public void WriteToHTML()
        //{

        //    string s = "";

        //    s = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN/\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\">";
        //    s = s + "<head><meta http-equiv=\"Content-Language\" content=\"zh-cn\" /><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
        //    s = s + "<title>shiyan</title><style type=\"text/css\">.style1 {text-align: left;}.style2 {margin-left: 40px;}.style3 {	text-decoration: underline;	margin-left: 40px;}</style></head>";
        //    s = s + "<body>";

        //    s = s + "<h2>测试结果信息:</h2>";
        //    foreach (LParameter lp in ParameterList)
        //    {
        //        s = s + "指标名称:" + lp.Name;
        //        s = s + "<p class=\"style2\">说明:" + lp.Memo + "</p>";
        //        s = s + "<p>测试时间:" + lp.TestTime.ToString() + "</p>";
        //        if (lp.Value != Double.NaN)
        //        {
        //            s = s + "<p>测试值:" + lp.Value.ToString() + lp.Dimension + "</p>";
        //        }
        //    }
        //    s = s + "</body></html>";
        //    SilverlightLFC.common.Environment.getEnvironment().SaveFileString(s, "HTML文件|*.html");

        //    //SaveFileDialog of = new SaveFileDialog();
        //    //of.Filter = "HTML文件|*.html";
        //    //of.ShowDialog();
        //    //byte[] sb = System.Text.Encoding.Unicode.GetBytes(s);
        //    //Stream fs = of.OpenFile();
        //    //if (fs != null)
        //    //{
        //    //    fs.Write(sb, 0, sb.Length);
        //    //}
        //}
        //System.Windows.Threading.DispatcherTimer time = new System.Windows.Threading.DispatcherTimer();
        //int pi = 0;

        //void autoTest()
        //{
        //    if (!TestChartNull()) { return; }
        //    //try{

        //        BeginTime = DateTime.Now;
        //        Begin();
        //        EndTime = DateTime.Now;
        //    //}
        //    //catch (Exception e)
        //    //{
        //    //    SilverlightLFC.common.Environment.ShowMessage(e.Message);
        //    //}
        //}
        //bool IsTesting = false;
        //public void Begin()
        //{
        //    if (IsTesting) { return; }
        //    IsTesting = true;
        //    time.Interval = TimeSpan.FromSeconds(2);
        //    time.Tick += new EventHandler(time_Tick);
        //    ParameterList.Clear();
        //    PreProcess();
        //    pi = 0;
        //    time.Start();
        //}
        //public void PreProcess()
        //{
        //    try
        //    {
        //        t.setChart(ChartPhoto.getPhoto());
        //        //t.PhotoTestProc += new PhotoTestProcessHandler(t_PhotoTestProc);
        //        t.CorrectISO12233Chart();
        //        t.BeginAnalyse();
        //        processbar.Value = 5;

        //    }
        //    catch (Exception xe)//未知的异常
        //    {
        //        if (xe is LFCException)//已经是系统约定的错误类型,直接往上抛
        //        {
        //            SilverlightLFC.common.Environment.ShowMessage(xe.Message);
        //        }
        //        else
        //        {
        //            SilverlightLFC.common.Environment.ShowMessage("测试卡矫正错误,请检查照片");
        //            //throw new SilverlightLFC.common.LFCException("测试卡矫正错误", null);
        //        }
        //    }
        //}
        //public void TestFinish()
        //{
        //    //ResultPanel.Height = 25 * 11;
        //    //IsTested = true;
        //    //TestProject.TestHtml.Add(WriteHTML());
        //    time.Tick -= new EventHandler(time_Tick);
        //    processbar.Value = 100;
        //    EndTime = DateTime.Now;
        //    IsTesting = false;
        //    pi = 0;
        //    ToolTipService.SetToolTip(processbar, "本次测试耗时(ms):" + (EndTime - BeginTime).TotalMilliseconds.ToString());
        //    //time.Start();
        //}
        //void time_Tick(object sender, EventArgs e)
        //{
        //    time.Stop();
        //    pi++;
        //    if (pi == 1) { TestRayleiResolution(); }
        //    if (pi == 2) { TestHMTF(); }
        //    if (pi == 3) { TestVMTF(); }
        //    if (pi == 4) { TestHDispersiveness(); }
        //    if (pi == 5) { TestVDispersiveness(); }
        //    if (pi == 6) { TestFinish(); return; }
        //    time.Start();
        //}

        void TestRayleiResolution()
        {
            try
            {
                BeginTime = DateTime.Now;
                long r = (testHelper.CurrentChart as ISO12233ExChart).getLPResoveLines();
                buttonRayleiResolution.Content = "分辨率(中央):" + r.ToString() + " LW/PH";
                buttonRayleiResolution.SetValue(ToolTipService.ToolTipProperty, "利用瑞利判据,直观判断相机分辨率,数据表示在一张照片里面可以分辨的垂直线条的数量");
                EndTime = DateTime.Now;
                LParameter lp = testHelper.getNewParameter("ISO2233Ex测试卡", r, BeginTime, EndTime);
                lp.Name      = "中央瑞利分辨率";
                lp.Memo      = "利用瑞利判据,直观判断相机分辨率,数据表示在一张照片里面可以分辨的垂直线条的数量";
                lp.Dimension = "LW/PH";
                //lp.TestChart = testHelper.CurrentChart.ChartPhoto;
                //lp.TestWay = "ISO2233Ex测试卡";
                //lp.TestTime = EndTime;
                //lp.SpendTime = (EndTime - BeginTime).TotalMilliseconds;
                //lp.Value = r;
                testHelper.ParameterList.Add(lp);
                //processbar.Value = 20;
                //time.Start();
            }
            catch (Exception xe)//未知的异常
            {
                testHelper.ProcessError(xe, "瑞丽判据测试错误");
            }
        }
コード例 #2
0
ファイル: XMarkTest.xaml.cs プロジェクト: lynxliu/CameraTest
 public void TestWaveQ()
 {
     try
     {
         BeginTime = DateTime.Now;
         decimal r = (testHelper.CurrentChart as XMarkChart).getWaveQ() * 100;
         //Button li = new Button();
         //li.Name = "WaveQ";
         buttonWaveQ.Content = "成像一致性:" + r.ToString() + " %";
         //li.Click += new RoutedEventHandler(XMarkWaveQ_Click);
         buttonWaveQ.SetValue(ToolTipService.ToolTipProperty, "数据表示照片里面还原正弦灰度区域的能力,完全还原时为0,差异越大数据越大");
         //ResultPanel.Children.Add(li);
         EndTime = DateTime.Now;
         LParameter lp = testHelper.getNewParameter("XMark测试卡", Convert.ToDouble(r), BeginTime, EndTime);
         lp.Name      = "成像一致性";
         lp.Memo      = "数据表示照片里面还原正弦灰度区域的能力,完全还原时为0,差异越大数据越大";
         lp.Dimension = "%";
         //lp.TestWay = "XMark测试卡";
         //lp.TestTime = EndTime;
         //lp.SpendTime = (EndTime - BeginTime).TotalMilliseconds;
         //lp.Value = Convert.ToDouble(r);
         //lp.TestWay = t.ChartPhoto;
         testHelper.ParameterList.Add(lp);
         //processbar.Value = 80;
         //time.Start();
         //t.sendProcEvent(true, "");
         //bw.ReportProgress(100, li);
         //processbar.Value = 100;
     }
     catch (Exception xe)//未知的异常
     {
         testHelper.ProcessError(xe, "计算成像一致性错误");
     }
 }
コード例 #3
0
ファイル: XRiteTest.xaml.cs プロジェクト: lynxliu/CameraTest
 void TestNoise()
 {
     try
     {
         BeginTime = DateTime.Now;
         decimal d = Convert.ToDecimal((testHelper.CurrentChart as XRiteColorChart).getNoiseNum(25)) * 100;
         buttonNoise.Content = "噪点:" + d.ToString() + " %";
         buttonNoise.SetValue(ToolTipService.ToolTipProperty, "数据表示在一张照片里面可以分辨的噪点数量");
         EndTime = DateTime.Now;
         LParameter lp = testHelper.getNewParameter("XRite色标测试卡", Convert.ToDouble(d), BeginTime, EndTime);
         lp.Name      = "噪点";
         lp.Memo      = "数据表示在一张照片里面可以分辨的噪点数量";
         lp.Dimension = "%";
         //lp.TestWay = "XRite色标测试卡";
         //lp.TestTime = EndTime;
         //lp.SpendTime = (EndTime - BeginTime).TotalMilliseconds;
         //lp.Value = Convert.ToDouble(d);
         testHelper.ParameterList.Add(lp);
         //processbar.Value = 95;
         //time.Start();
     }
     catch (Exception xe)//未知的异常
     {
         testHelper.ProcessError(xe, "计算噪点错误");
     }
 }
コード例 #4
0
 void TestVDispersiveness()
 {
     try{
         BeginTime = DateTime.Now;
         decimal d = (testHelper.CurrentChart as ISO12233Chart).getVDispersiveness();
         buttonVDispersiveness.Content = "色散(垂直线):" + d.ToString() + " pxl";
         buttonVDispersiveness.SetValue(ToolTipService.ToolTipProperty, "利用垂直线条测试,接近边缘色散程度,数据表示红绿蓝三原色在边界分离的程度,无色散时为0");
         EndTime = DateTime.Now;
         LParameter lp = testHelper.getNewParameter("ISO2233测试卡", Convert.ToDouble(d), BeginTime, EndTime);
         lp.Name      = "色散(垂直线)";
         lp.Memo      = "利用垂直线条测试,接近边缘色散程度,数据表示红绿蓝三原色在边界分离的程度,无色散时为0";
         lp.Dimension = "Pix";
         //lp.TestChart = testHelper.CurrentChart.ChartPhoto;
         //lp.TestWay = "ISO2233测试卡";
         //lp.TestTime = EndTime;
         //lp.SpendTime = (EndTime - BeginTime).TotalMilliseconds;
         //lp.Value = Convert.ToDouble(d);
         testHelper.ParameterList.Add(lp);
         //processbar.Value = 95;
         //time.Start();
     }
     catch (Exception xe)//未知的异常
     {
         testHelper.ProcessError(xe, "色散(垂直线)测试错误");
     }
 }
コード例 #5
0
        public void TestGray()
        {
            if (!testHelper.TestChartNull())
            {
                return;
            }
            try{
                //progressbar.Value = 0;
                BeginTime = DateTime.Now;
                //t.setChart(ChartPhoto.getPhoto());
                double d = (testHelper.CurrentChart as GrayChart).getBrightChangesValue();
                //TextValue.Text = d.ToString();
                EndTime = DateTime.Now;

                LParameter lp = testHelper.getNewParameter("灰度测试卡", d, BeginTime, EndTime);
                lp.Name      = "亮度变化";
                lp.Memo      = "查看照片亮度变化";
                lp.Dimension = "";
                //lp.TestChart = testHelper.CurrentChart.ChartPhoto;
                testHelper.ParameterList.Add(lp);
                testHelper.ShowTestResult(TextValue, "亮度变化", null);
                TestGB();

                //progressbar.Value = 100;
            }
            catch (Exception xe)//未知的异常
            {
                testHelper.ProcessError(xe, "灰度计算错误");
            }
        }
コード例 #6
0
ファイル: XMarkTest.xaml.cs プロジェクト: lynxliu/CameraTest
 public void TestNoise()
 {
     try
     {
         BeginTime = DateTime.Now;
         decimal r = (testHelper.CurrentChart as XMarkChart).getNoiseNum() * 100;
         //Button li = new Button();
         //li.Name = "Noise";
         buttonNoise.Content = "噪点:" + r.ToString() + " %";
         //li.Click += new RoutedEventHandler(XMarkNoise_Click);
         buttonNoise.SetValue(ToolTipService.ToolTipProperty, "数据表示在一张照片里面可以分辨的噪点数量");
         //ResultPanel.Children.Add(li);
         EndTime = DateTime.Now;
         LParameter lp = testHelper.getNewParameter("XMark测试卡", Convert.ToDouble(r), BeginTime, EndTime);
         lp.Name      = "噪点";
         lp.Memo      = "数据表示在一张照片里面可以分辨的噪点数量";
         lp.Dimension = "%";
         //lp.TestWay = "XMark测试卡";
         //lp.TestTime = EndTime;
         //lp.SpendTime = (EndTime - BeginTime).TotalMilliseconds;
         //lp.Value = Convert.ToDouble(r);
         //lp.TestWay = t.ChartPhoto;
         testHelper.ParameterList.Add(lp);
         //processbar.Value = 60;
         //time.Start();
         //t.sendProcEvent(true, "");
         //bw.ReportProgress(25, li);
         //processbar.Value = 50;
     }
     catch (Exception xe)//未知的异常
     {
         testHelper.ProcessError(xe, "计算噪点错误");
     }
 }
コード例 #7
0
 void TestVMTF()
 {
     try
     {
         BeginTime = DateTime.Now;
         double r = (testHelper.CurrentChart as ISO12233Chart).getVEdgeResoveLines();
         buttonVMTF.Content = "分辨率(垂直线):" + r.ToString() + " LW/PH";
         buttonVMTF.SetValue(ToolTipService.ToolTipProperty, "利用垂直线条测试分辨率,接近相机的边缘分辨率,数据表示在一张照片里面可以分辨的垂直线条的数量");
         EndTime = DateTime.Now;
         LParameter lp = testHelper.getNewParameter("ISO2233测试卡", Convert.ToDouble(r), BeginTime, EndTime);
         lp.Name      = "中央分辨率(垂直线)";
         lp.Memo      = "利用垂直线条测试分辨率,接近相机的边缘分辨率,数据表示在一张照片里面可以分辨的垂直线条的数量";
         lp.Dimension = "LW/PH";
         //lp.TestChart = testHelper.CurrentChart.ChartPhoto;
         //lp.TestWay = "ISO2233测试卡";
         //lp.TestTime = EndTime;
         //lp.SpendTime = (EndTime - BeginTime).TotalMilliseconds;
         //lp.Value = r;
         testHelper.ParameterList.Add(lp);
         //processbar.Value = 60;
         //time.Start();
     }
     catch (Exception xe)//未知的异常
     {
         testHelper.ProcessError(xe, "中央分辨率(垂直线线)测试错误");
     }
 }
コード例 #8
0
ファイル: XMarkTest.xaml.cs プロジェクト: lynxliu/CameraTest
 public void TestWhiteBanlance()
 {
     try
     {
         BeginTime = DateTime.Now;
         decimal r = (testHelper.CurrentChart as XMarkChart).getWhiteBanlance() * 100;
         //Button li = new Button();
         //li.Name = "AutoWhiteBalanceDistance";
         buttonWhiteBanlance.Content = "白平衡能力:" + r.ToString() + " %";
         //li.Click += new RoutedEventHandler(XMarkWhiteBalance_Click);
         buttonWhiteBanlance.SetValue(ToolTipService.ToolTipProperty, "数据表示拍摄灰度的时刻偏离灰度的程度,完全准确时为0");
         //ResultPanel.Children.Add(li);
         EndTime = DateTime.Now;
         LParameter lp = testHelper.getNewParameter("XMark测试卡", Convert.ToDouble(r), BeginTime, EndTime);
         lp.Name      = "白平衡能力";
         lp.Memo      = "数据表示拍摄灰度的时刻偏离灰度的程度,完全准确时为0";
         lp.Dimension = "%";
         //lp.TestWay = "XMark测试卡";
         //lp.TestTime = EndTime;
         //lp.SpendTime = (EndTime - BeginTime).TotalMilliseconds;
         //lp.Value = Convert.ToDouble(r);
         //lp.TestWay = t.ChartPhoto;
         testHelper.ParameterList.Add(lp);
         //processbar.Value = 95;
         //time.Start();
         //t.sendProcEvent(true, "");
         //bw.ReportProgress(30, li);
         //processbar.Value = 60;
     }
     catch (Exception xe)//未知的异常
     {
         testHelper.ProcessError(xe, "计算白平衡误差错误");
     }
 }
コード例 #9
0
ファイル: XMarkTest.xaml.cs プロジェクト: lynxliu/CameraTest
 public void TestPurplePercent()
 {
     try
     {
         BeginTime = DateTime.Now;
         decimal r = Convert.ToDecimal((testHelper.CurrentChart as XMarkChart).getPurplePercent()) * 100;
         //Button li = new Button();
         //li.Name = "PurplePercent";
         buttonPurplePercent.Content = "紫边像素比例:" + r.ToString() + " %";
         //li.Click += new RoutedEventHandler(PurplePercent_Click);
         buttonPurplePercent.SetValue(ToolTipService.ToolTipProperty, "数据表示照片里面四角的紫色像素比例");
         //ResultPanel.Children.Add(li);
         EndTime = DateTime.Now;
         LParameter lp = testHelper.getNewParameter("XMark测试卡", Convert.ToDouble(r), BeginTime, EndTime);
         lp.Name      = "紫边像素比例";
         lp.Memo      = "数据表示照片里面四角的紫色像素比例";
         lp.Dimension = "%";
         //lp.TestWay = "XMark测试卡";
         //lp.TestTime = EndTime;
         //lp.SpendTime = (EndTime - BeginTime).TotalMilliseconds;
         //lp.Value = Convert.ToDouble(r);
         //lp.TestWay = t.ChartPhoto;
         testHelper.ParameterList.Add(lp);
         //processbar.Value = 70;
         //time.Start();
         //t.sendProcEvent(true, "");
         //bw.ReportProgress(100, li);
     }
     catch (Exception xe)//未知的异常
     {
         testHelper.ProcessError(xe, "计算紫边像素比例错误");
     }
 }
コード例 #10
0
ファイル: XMarkTest.xaml.cs プロジェクト: lynxliu/CameraTest
 public void TestVEdgeDispersiveness()
 {
     try
     {
         BeginTime = DateTime.Now;
         decimal r = Convert.ToDecimal((testHelper.CurrentChart as XMarkChart).getVEdgeDispersiveness());
         //Button li = new Button();
         //li.Name = "VDispersiveness";
         buttonVDispersiveness.Content = "边缘色散:" + r.ToString() + " Pxl";
         buttonVDispersiveness.SetValue(ToolTipService.ToolTipProperty, "数据表示红绿蓝三原色在边界分离的程度,也就是平均分离到几个像素,无色散时为0");
         //li.Click += new RoutedEventHandler(VDispersiveness_Click);
         //ResultPanel.Children.Add(li);
         EndTime = DateTime.Now;
         LParameter lp = testHelper.getNewParameter("XMark测试卡", Convert.ToDouble(r), BeginTime, EndTime);
         lp.Name      = "边缘色散";
         lp.Memo      = "利用垂直边界测试,数据表示红绿蓝三原色在边界分离的程度,也就是平均分离到几个像素,无色散时为0";
         lp.Dimension = "Pix";
         //lp.TestWay = "XMark测试卡";
         //lp.TestTime = EndTime;
         //lp.SpendTime = (EndTime - BeginTime).TotalMilliseconds;
         //lp.Value = Convert.ToDouble(r);
         //lp.TestChart = testHelper.CurrentChart.ChartPhoto;
         testHelper.ParameterList.Add(lp);
         //processbar.Value = 30;
         //time.Start();
     }
     catch (Exception xe)//未知的异常
     {
         testHelper.ProcessError(xe, "测试边缘色散(垂直条)错误");
     }
 }
コード例 #11
0
ファイル: XMarkTest.xaml.cs プロジェクト: lynxliu/CameraTest
 public void TestVEdgeResoveLines()
 {
     try
     {
         BeginTime = DateTime.Now;
         decimal r = (testHelper.CurrentChart as XMarkChart).getVEdgeResoveLines();
         //Button li = new Button();
         //li.Name = "VResolvingPower";
         buttonVEdgeResoveLines.Content = "边缘分辨率:" + r.ToString() + " lw/ph";
         //li.Click += new RoutedEventHandler(XMarkVMTF_Click);
         buttonVEdgeResoveLines.SetValue(ToolTipService.ToolTipProperty, "数据表示在一张照片里面可以分辨的水平线条的数量");
         //ResultPanel.Children.Add(li);
         EndTime = DateTime.Now;
         LParameter lp = testHelper.getNewParameter("XMark测试卡", Convert.ToDouble(r), BeginTime, EndTime);
         lp.Name      = "边缘分辨率";
         lp.Memo      = "利用垂直边界测试,数据表示在一张照片里面可以分辨的水平线条的数量";
         lp.Dimension = "lw/ph";
         //lp.TestWay = "XMark测试卡";
         //lp.TestTime = EndTime;
         //lp.SpendTime = (EndTime - BeginTime).TotalMilliseconds;
         //lp.Value = Convert.ToDouble(r);
         //lp.TestChart = testHelper.CurrentChart.ChartPhoto;
         testHelper.ParameterList.Add(lp);
         //processbar.Value = 40;
         //time.Start();
         //t.sendProcEvent(true, "");
         //bw.ReportProgress(60, li);
         //processbar.Value = 90;
     }
     catch (Exception xe)//未知的异常
     {
         testHelper.ProcessError(xe, "利用垂直边界测试边缘分辨率错误");
     }
 }
コード例 #12
0
ファイル: XRiteTest.xaml.cs プロジェクト: lynxliu/CameraTest
        //public List<IParameter> ParameterList = new List<IParameter>();
        //public void WriteToHTML()
        //{

        //    string s = "";

        //    s = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN/\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\">";
        //    s = s + "<head><meta http-equiv=\"Content-Language\" content=\"zh-cn\" /><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
        //    s = s + "<title>shiyan</title><style type=\"text/css\">.style1 {text-align: left;}.style2 {margin-left: 40px;}.style3 {	text-decoration: underline;	margin-left: 40px;}</style></head>";
        //    s = s + "<body>";

        //    s = s + "<h2>测试结果信息:</h2>";
        //    foreach (LParameter lp in ParameterList)
        //    {
        //        s = s + "指标名称:" + lp.Name;
        //        s = s + "<p class=\"style2\">说明:" + lp.Memo + "</p>";
        //        s = s + "<p>测试时间:" + lp.TestTime.ToString() + "</p>";
        //        if (lp.Value != Double.NaN)
        //        {
        //            s = s + "<p>测试值:" + lp.Value.ToString() + lp.Dimension + "</p>";
        //        }
        //    }
        //    s = s + "</body></html>";
        //    SilverlightLFC.common.Environment.getEnvironment().SaveFileString(s, "HTML文件|*.html");

        //    //SaveFileDialog of = new SaveFileDialog();
        //    //of.Filter = "HTML文件|*.html";
        //    //of.ShowDialog();
        //    //byte[] sb = System.Text.Encoding.Unicode.GetBytes(s);
        //    //Stream fs = of.OpenFile();
        //    //if (fs != null)
        //    //{
        //    //    fs.Write(sb, 0, sb.Length);
        //    //}
        //}

        //System.Windows.Threading.DispatcherTimer time = new System.Windows.Threading.DispatcherTimer();
        //int pi = 0;
        //void autoTest()
        //{
        //    if (!TestChartNull()) { return; }
        //    BeginTime = DateTime.Now;
        //    Begin();
        //    EndTime = DateTime.Now;
        //}
        //bool IsTesting = false;
        //public void Begin()
        //{
        //    if (IsTesting) { return; }
        //    IsTesting = true;
        //    ParameterList.Clear();
        //    time.Interval = TimeSpan.FromSeconds(2);
        //    time.Tick += new EventHandler(time_Tick);
        //    PreProcess();
        //    pi = 0;
        //    time.Start();
        //}
        //public void PreProcess()
        //{
        //    try
        //    {
        //        t.setChart(ChartPhoto.getPhoto());
        //        t.PhotoTestProc += new PhotoTestProcessHandler(t_PhotoTestProc);
        //        //t.corrCorrectXMark();
        //        t.BeginAnalyse();
        //        processbar.Value = 5;
        //    }
        //    catch (Exception xe)//未知的异常
        //    {
        //        if (xe is LFCException)//已经是系统约定的错误类型,直接往上抛
        //        {
        //            SilverlightLFC.common.Environment.ShowMessage(xe.Message);
        //        }
        //        else
        //        {
        //            SilverlightLFC.common.Environment.ShowMessage("测试卡矫正错误,请检查照片");
        //            //throw new SilverlightLFC.common.LFCException("测试卡矫正错误", null);
        //        }
        //    }
        //}
        //public void TestFinish()
        //{
        //    time.Tick -= new EventHandler(time_Tick);
        //    processbar.Value = 100;
        //    IsTesting = false;
        //    EndTime = DateTime.Now;
        //    pi = 0;
        //    ToolTipService.SetToolTip(processbar, "本次测试耗时(ms):" + (EndTime - BeginTime).TotalMilliseconds.ToString());

        //}
        //void time_Tick(object sender, EventArgs e)
        //{
        //    time.Stop();
        //    pi++;
        //    if (pi == 1) { TestWhiteBalance(); }
        //    if (pi == 2) { TestColorTrendValue(); }
        //    if (pi == 3) { TestNoise(); }
        //    if (pi == 4) { TestFinish(); return; }
        //    time.Start();
        //}
        void TestWhiteBalance()
        {
            try
            {
                BeginTime = DateTime.Now;
                decimal d = Convert.ToDecimal((testHelper.CurrentChart as XRiteColorChart).getWhiteBanlance()) * 100;
                buttonWhiteBalance.Content = "白平衡误差:" + d.ToString();
                buttonWhiteBalance.Content = buttonWhiteBalance.Content + " %";
                buttonWhiteBalance.SetValue(ToolTipService.ToolTipProperty, "数据表示拍摄灰度的时刻偏离灰度的程度,完全准确时为0");
                EndTime = DateTime.Now;
                LParameter lp = testHelper.getNewParameter("XRite色标测试卡", Convert.ToDouble(d), BeginTime, EndTime);
                lp.Name      = "白平衡误差";
                lp.Memo      = "数据表示拍摄灰度的时刻偏离灰度的程度,完全准确时为0";
                lp.Dimension = "%";
                //lp.TestWay = "XRite色标测试卡";
                //lp.TestTime = EndTime;
                //lp.SpendTime = (EndTime - BeginTime).TotalMilliseconds;
                //lp.Value = Convert.ToDouble(d);
                testHelper.ParameterList.Add(lp);
                //processbar.Value = 20;
                //time.Start();
            }
            catch (Exception xe)//未知的异常
            {
                testHelper.ProcessError(xe, "计算白平衡误差错误");
            }
        }
コード例 #13
0
ファイル: XRiteTest.xaml.cs プロジェクト: lynxliu/CameraTest
 void TestColorTrendValue()
 {
     try
     {
         BeginTime = DateTime.Now;
         decimal d = (testHelper.CurrentChart as XRiteColorChart).getColorDistance();
         buttonColorTrendValue.Content = "色彩趋向误差:" + d.ToString() + " 度";
         buttonColorTrendValue.SetValue(ToolTipService.ToolTipProperty, "数据表示在拍摄标准颜色时候色调的偏差,完全准确时为0");
         EndTime = DateTime.Now;
         LParameter lp = testHelper.getNewParameter("XRite色标测试卡", Convert.ToDouble(d), BeginTime, EndTime);
         lp.Name      = "色彩趋向差异";
         lp.Memo      = "数据表示在拍摄标准颜色时候色调的偏差,完全准确时为0";
         lp.Dimension = "度";
         //lp.TestWay = "XRite色标测试卡";
         //lp.TestTime = EndTime;
         //lp.SpendTime = (EndTime - BeginTime).TotalMilliseconds;
         //lp.Value = Convert.ToDouble(d);
         testHelper.ParameterList.Add(lp);
         //processbar.Value = 70;
         //time.Start();
     }
     catch (Exception xe)//未知的异常
     {
         testHelper.ProcessError(xe, "计算色彩趋向误差错误");
     }
 }
コード例 #14
0
ファイル: XMarkTest.xaml.cs プロジェクト: lynxliu/CameraTest
        //public List<IParameter> ParameterList = new List<IParameter>();
        //BackgroundWorker bw = new BackgroundWorker();
        //public event DefE ce;
        //void autoTest()
        //{
        //if (!TestChartNull()) { return; }
        //try{

        //    Begin();
        //EndTime = DateTime.Now;
        //}
        //catch (Exception e)
        //{
        //    SilverlightLFC.common.Environment.ShowMessage(e.Message);
        //}
        //}

        //void InitChartTestList()
        //{
        //    tl.Clear();
        //    foreach (WriteableBitmap tb in lPhotoList1.PhotoList)
        //    {
        //        XMarkChart t = new XMarkChart(tb);
        //        tl.Add(tb, t);
        //    }
        //}
        //bool IsTesting = false;
        //public void BeginAll()
        //{
        //    if (IsTesting) { return; }
        //    BeginTime = DateTime.Now;
        //    IsTesting = true;
        //    ParameterList.Clear();
        //    time.Interval = TimeSpan.FromSeconds(2);
        //    processbar.Value = 0;
        //    time.Tick += new EventHandler(time_Tick);
        //    TaskList.Clear();
        //    foreach (WriteableBitmap tb in lPhotoList1.PhotoList)
        //    {
        //        TaskList.Add(MoveToNextPhoto);
        //        TaskList.Add(PreProcess);
        //        TaskList.Add(TestAberration);
        //        TaskList.Add(TestBrightChanges);
        //        TaskList.Add(TestColorTrend);
        //        TaskList.Add(TestHEdgeDispersiveness);
        //        TaskList.Add(TestVEdgeDispersiveness);
        //        TaskList.Add(TestHEdgeResoveLines);
        //        TaskList.Add(TestVEdgeResoveLines);
        //        TaskList.Add(TestLatitude);
        //        TaskList.Add(TestNoise);
        //        TaskList.Add(TestPurplePercent);
        //        TaskList.Add(TestWaveQ);
        //        TaskList.Add(TestWhiteBanlance);
        //    }
        //    pi = -1;
        //    PhotoIndex = -1;
        //    time.Start();
        //}
        //public void Begin()
        //{
        //    if (IsTesting) { return; }
        //    BeginTime = DateTime.Now;
        //    IsTesting = true;
        //    ParameterList.Clear();
        //    processbar.Value = 0;
        //    time.Interval = TimeSpan.FromSeconds(2);
        //    time.Tick += new EventHandler(time_Tick);
        //    //PreProcess();
        //    TaskList.Clear();

        //    PhotoIndex = lPhotoList1.getPhotoIndex(ChartPhoto.getPhoto());

        //    CurrentChart = tl[ChartPhoto.getPhoto()];
        //    TaskList.Add(PreProcess);
        //    TaskList.Add(TestAberration);
        //    TaskList.Add(TestBrightChanges);
        //    TaskList.Add(TestColorTrend);
        //    TaskList.Add(TestHEdgeDispersiveness);
        //    TaskList.Add(TestVEdgeDispersiveness);
        //    TaskList.Add(TestHEdgeResoveLines);
        //    TaskList.Add(TestVEdgeResoveLines);
        //    TaskList.Add(TestLatitude);
        //    TaskList.Add(TestNoise);
        //    TaskList.Add(TestPurplePercent);
        //    TaskList.Add(TestWaveQ);
        //    TaskList.Add(TestWhiteBanlance);
        //    pi = -1;
        //    time.Start();
        //}
        //int pi = 0;
        //List<ParameterTest> TaskList = new List<ParameterTest>();
        //double stepPercent;
        //void time_Tick(object sender, EventArgs e)
        //{
        //    time.Stop();
        //    pi++;
        //    if (pi < TaskList.Count )
        //    {
        //        //pi++;
        //        TaskList[pi]();
        //        processbar.Value = processbar.Value + (100d / TaskList.Count);
        //        time.Start();
        //    }
        //    else
        //    {
        //        TestFinish();
        //        ShowTestResult();
        //        return;
        //    }
        //    //if (pi == 1) { TestAberration(); }
        //    //if (pi == 2) { TestBrightChanges(); }
        //    //if (pi == 3) { TestColorTrend(); }
        //    //if (pi == 4) { TestHEdgeDispersiveness(); }
        //    //if (pi == 5) { TestVEdgeDispersiveness(); }
        //    //if (pi == 6) { TestHEdgeResoveLines(); }
        //    //if (pi == 7) { TestVEdgeResoveLines(); }
        //    //if (pi == 8) { TestLatitude(); }
        //    //if (pi == 9) { TestNoise(); }
        //    //if (pi == 10) { TestPurplePercent(); }
        //    //if (pi == 11) { TestWaveQ(); }
        //    //if (pi == 12) { TestWhiteBanlance(); }
        //    //if (pi == 13) { TestFinish(); return; }
        //    //time.Start();
        //}
        //int PhotoIndex = -1;
        //public void MoveToNextPhoto()
        //{
        //    PhotoIndex++;
        //    CurrentChart = tl[lPhotoList1.getPhoto(PhotoIndex)];
        //}
        //void ProcessError(Exception xe, string DefaultStr)
        //{
        //    IsTesting = false;
        //    time.Stop();
        //    time.Tick -= new EventHandler(time_Tick);
        //    if (xe is LFCException)//已经是系统约定的错误类型,直接往上抛
        //    {
        //        SilverlightLFC.common.Environment.ShowMessage(xe.Message);
        //    }
        //    else
        //    {
        //        SilverlightLFC.common.Environment.ShowMessage(DefaultStr);
        //    }
        //}
        //XMarkChart CurrentChart;
        //public void PreProcess()
        //{
        //    try
        //    {
        //        //CurrentChart = tl[lPhotoList1.getPhoto(PhotoIndex)];
        //        //t.setChart();
        //        //t.PhotoTestProc += new PhotoTestProcessHandler(t_PhotoTestProc);
        //        CurrentChart.CorrectChart();
        //        CurrentChart.BeginAnalyse();
        //        //processbar.Value = 5;
        //        //time.Start();
        //    }
        //    catch (Exception xe)//未知的异常
        //    {
        //        ProcessError(xe,"测试卡矫正错误,请检查照片");

        //    }
        //}
        //DateTime _BeginTime, _EndTime;
        //LParameter getNewParameter(double r)
        //{
        //    LParameter lp = new LParameter();
        //    lp.TestTime = _EndTime;
        //    lp.SpendTime = (_EndTime - _BeginTime).TotalMilliseconds;
        //    lp.Value = r;
        //    lp.TestChart = testHelper.CurrentChart.ChartPhoto;
        //    lp.TestWay = "XMark测试卡";
        //    return lp;
        //}
        public void TestAberration()
        {
            try
            {
                BeginTime = DateTime.Now;
                //Button li = new Button();
                decimal r = (testHelper.CurrentChart as XMarkChart).getAberration() * 100;
                //ShowTestResult(buttonAberration, "畸变");
                buttonAberration.Content = "畸变:" + r.ToString() + " %";
                buttonAberration.SetValue(ToolTipService.ToolTipProperty, "数据表示照片里面几何变形程度,正表示桶形畸变,负表示枕型畸变,0为无畸变");
                //ResultPanel.Children.Add(li);
                //t.sendProcEvent(true, "");
                EndTime = DateTime.Now;
                LParameter lp = testHelper.getNewParameter("XMark测试卡", Convert.ToDouble(r), BeginTime, EndTime);
                lp.Name      = "畸变";
                lp.Memo      = "数据表示照片里面几何变形程度,正表示桶形畸变,负表示枕型畸变,0为无畸变";
                lp.Dimension = "%";
                //lp.TestWay = "XMark测试卡";
                //lp.TestTime = _EndTime;
                //lp.SpendTime = (_EndTime - _BeginTime).TotalMilliseconds;
                //lp.Value = Convert.ToDouble(r);
                //lp.TestWay = t.ChartPhoto;
                //lp.TestChart = testHelper.CurrentChart.ChartPhoto;
                testHelper.ParameterList.Add(lp);
                //processbar.Value = 10;
                //time.Start();
            }
            catch (Exception xe)//未知的异常
            {
                testHelper.ProcessError(xe, "测试畸变错误");
            }
        }
コード例 #15
0
ファイル: ChartTestHelper.cs プロジェクト: lynxliu/CameraTest
        public LParameter getNewParameter(string TestWay, double r, DateTime _BeginTime, DateTime _EndTime)
        {
            LParameter lp = new LParameter(TestWay, CurrentChart);

            lp.TestTime  = _EndTime;
            lp.SpendTime = (_EndTime - _BeginTime).TotalMilliseconds;
            lp.Value     = r;
            //lp.TestChart = CurrentChart.ChartPhoto;
            //lp.TestWay = TestWay;
            return(lp);
        }
コード例 #16
0
        public void TestLatitude()
        {
            if (!testHelper.TestChartNull())
            {
                return;
            }
            //processbar.Value = 0;
            BeginTime = DateTime.Now;
            try
            {
                (testHelper.CurrentChart as ITEGrayscaleChart).ConstGradeL = lynxUpDownConstL.DoubleValue;
                int v = (testHelper.CurrentChart as ITEGrayscaleChart).getGrayGrade(lynxUpDownH.IntValue, lynxUpDownW.IntValue);
                EndTime = DateTime.Now;
                //textBlockLatitude.Text = v.ToString();
                LParameter lp = testHelper.getNewParameter("ITE灰阶", v, BeginTime, EndTime);
                lp.Name      = "灰阶";
                lp.Memo      = "数据表示在一张照片里面可以分辨的灰阶亮度级别";
                lp.Dimension = "级";
                testHelper.ParameterList.Add(lp);
                ShowTestResult(lChartPhoto.getPhoto());
                //List<double> dl = (testHelper.CurrentChart as ITEGrayscaleChart).getHLineAveL(lynxUpDownH.IntValue, lynxUpDownW.IntValue);
                //comboBoxLGrade.Items.Clear();

                //canvasLatitude.Children.Clear();
                //dg.DrawBrightHistogram(dl);

                if (v == 11)
                {
                    ChartTestHelper.setGBSign(true, gridGB);
                }
                else
                {
                    ChartTestHelper.setGBSign(false, gridGB);
                }
            }
            catch (Exception xe)
            {
                testHelper.ProcessError(xe, "灰阶计算错误,请检查照片");
            }
            EndTime = DateTime.Now;
            //processbar.Value = 100;
        }
コード例 #17
0
 void TestBottomBlackLineNum()
 {
     try
     {
         BeginTime = DateTime.Now;
         double r = (testHelper.CurrentChart as AberrationChart).getBottomBlackLineNum();
         EndTime = DateTime.Now;
         LParameter lp = testHelper.getNewParameter("畸变测试卡", r, BeginTime, EndTime);
         lp.Name      = "畸变卡底部线条数";
         lp.Memo      = "查看照片两端垂直底部区域的线条数";
         lp.Dimension = "";
         //lp.TestChart = testHelper.CurrentChart.ChartPhoto;
         testHelper.ParameterList.Add(lp);
         testHelper.ShowTestResult(textBlockBottomBlackLineNum, "畸变卡底部线条数", null);
     }
     catch (Exception xe)//未知的异常
     {
         testHelper.ProcessError(xe, "畸变计算错误");
     }
 }
コード例 #18
0
 void TestAberration()
 {
     try
     {
         BeginTime = DateTime.Now;
         double r = (testHelper.CurrentChart as AberrationChart).getAberration();
         EndTime = DateTime.Now;
         LParameter lp = testHelper.getNewParameter("畸变测试卡", r, BeginTime, EndTime);
         lp.Name      = "畸变";
         lp.Memo      = "查看照片两端垂直黑色线条的弯曲程度";
         lp.Dimension = "";
         //lp.TestChart = testHelper.CurrentChart.ChartPhoto;
         testHelper.ParameterList.Add(lp);
         testHelper.ShowTestResult(TextAberration, "畸变", null);
     }
     catch (Exception xe)//未知的异常
     {
         testHelper.ProcessError(xe, "畸变计算错误");
     }
 }
コード例 #19
0
ファイル: JBEVTest.xaml.cs プロジェクト: lynxliu/CameraTest
        void TestDEV()
        {
            try
            {
                BeginTime = DateTime.Now;
                double r = (testHelper.CurrentChart as GrayChart).ptp.getGBDEv(lChartPhoto1.getPhoto(), lynxUpDownGamma.DoubleValue, lynxUpDownP.DoubleValue);
                EndTime = DateTime.Now;
                LParameter lp = testHelper.getNewParameter("灰度测试卡", r, BeginTime, EndTime);
                lp.Name      = "曝光量误差";
                lp.Memo      = "计算照片中央明度来确定曝光量";
                lp.Dimension = "";
                testHelper.ParameterList.Add(lp);

                WriteableBitmap cb = (testHelper.CurrentChart as GrayChart).ptp.getImageArea(lChartPhoto1.getPhoto(), lChartPhoto1.getPhoto().PixelWidth / 4, lChartPhoto1.getPhoto().PixelHeight / 4, lChartPhoto1.getPhoto().PixelWidth / 2, lChartPhoto1.getPhoto().PixelHeight / 2);
                double          l  = (testHelper.CurrentChart as GrayChart).ptp.getAverageColorL(cb);

                lp           = testHelper.getNewParameter("灰度测试卡", l, BeginTime, EndTime);
                lp.Name      = "中央平均明度";
                lp.Memo      = "照片中央明度";
                lp.Dimension = "";
                testHelper.ParameterList.Add(lp);


                if (Math.Abs(r) >= 1)
                {
                    ChartTestHelper.setGBSign(false, gridGB);
                }
                else
                {
                    ChartTestHelper.setGBSign(true, gridGB);
                }
                //testHelper.ShowTestResult(TextAberration, "曝光量", null);
                ShowTestResult(lChartPhoto1.getPhoto());
            }
            catch (Exception xe)//未知的异常
            {
                testHelper.ProcessError(xe, "曝光量计算错误");
            }
        }
コード例 #20
0
        public void TestLatitude()
        {
            if (!testHelper.TestChartNull())
            {
                return;
            }
            //processbar.Value = 0;
            BeginTime = DateTime.Now;
            try
            {
                //t.setChart(ChartPhoto.getPhoto());
                int h = lynxUpDown1.IntValue;
                if (h == 0)
                {
                    h = 7; lynxUpDown1.LongValue = 7;
                }

                double v = (testHelper.CurrentChart as KDGrayChart).getLatitude(h);
                EndTime = DateTime.Now;
                textBlockLatitude.Text = v.ToString();
                LParameter lp = testHelper.getNewParameter("柯达灰阶", v, BeginTime, EndTime);
                lp.Name      = "宽容度";
                lp.Memo      = "数据表示在一张照片里面可以分辨的亮度级别";
                lp.Dimension = "级";
                //lp.TestChart = testHelper.CurrentChart.ChartPhoto;
                testHelper.ParameterList.Add(lp);

                //List<double> dl = (testHelper.CurrentChart as KDGrayChart).getHLine(ChartPhoto.getPhoto().PixelHeight/2);
                //DrawGraphic dg = new DrawGraphic(canvasLatitude);
                //dg.DrawBrightHistogram(dl);
            }
            catch (Exception xe)
            {
                testHelper.ProcessError(xe, "宽容度计算错误,请检查照片");
            }
            EndTime = DateTime.Now;
            //processbar.Value = 100;
        }
コード例 #21
0
        //public List<string> ParameterHtml = new List<string>();

        //public void WriteToHTML()
        //{

        //    string s = "";

        //    s = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN/\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\">";
        //    s = s + "<head><meta http-equiv=\"Content-Language\" content=\"zh-cn\" /><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
        //    s = s + "<title>shiyan</title><style type=\"text/css\">.style1 {text-align: left;}.style2 {margin-left: 40px;}.style3 {	text-decoration: underline;	margin-left: 40px;}</style></head>";
        //    s = s + "<body>";

        //    s = s + "<h2>测试结果信息:</h2>";
        //    foreach (LParameter lp in ParameterList)
        //    {
        //        s = s + "指标名称:" + lp.Name;
        //        s = s + "<p class=\"style2\">说明:" + lp.Memo + "</p>";
        //        s = s + "<p>测试时间:" + lp.TestTime.ToString() + "</p>";
        //        if (lp.Value != Double.NaN)
        //        {
        //            s = s + "<p>测试值:" + lp.Value.ToString() + lp.Dimension + "</p>";
        //        }
        //    }
        //    s = s + "</body></html>";
        //    SilverlightLFC.common.Environment.getEnvironment().SaveFileString(s, "HTML文件|*.html");

        //    //SaveFileDialog of = new SaveFileDialog();
        //    //of.Filter = "HTML文件|*.html";
        //    //of.ShowDialog();
        //    //byte[] sb = System.Text.Encoding.Unicode.GetBytes(s);
        //    //Stream fs = of.OpenFile();
        //    //if (fs != null)
        //    //{
        //    //    fs.Write(sb, 0, sb.Length);
        //    //}
        //}

        //ISO12233Chart t = new ISO12233Chart();

        void TestRayleiResolution()
        {
            try
            {
                BeginTime = DateTime.Now;

                long r = (testHelper.CurrentChart as ISO12233Chart).getLPResoveLines();
                buttonRayleiResolution.Content = "分辨率(中央):" + r.ToString() + " LW/PH";
                buttonRayleiResolution.SetValue(ToolTipService.ToolTipProperty, "利用瑞利判据,直观判断相机分辨率,数据表示在一张照片里面可以分辨的垂直线条的数量");
                EndTime = DateTime.Now;
                LParameter lp = testHelper.getNewParameter("ISO2233测试卡", Convert.ToDouble(r), BeginTime, EndTime);
                lp.Name      = "中央瑞利分辨率";
                lp.Memo      = "利用瑞利判据,直观判断相机分辨率,数据表示在一张照片里面可以分辨的垂直线条的数量";
                lp.Dimension = "LW/PH";

                //lp.TestWay = "ISO2233测试卡";
                //lp.TestTime = EndTime;
                //lp.SpendTime = (EndTime - BeginTime).TotalMilliseconds;
                //lp.Value = r;
                testHelper.ParameterList.Add(lp);
                //processbar.Value = 20;
                //time.Start();
            }
            catch (Exception xe)//未知的异常
            {
                testHelper.ProcessError(xe, "中央分辨率(瑞利判据)测试错误");
                //if (xe is LFCException)//已经是系统约定的错误类型,直接往上抛
                //{
                //    SilverlightLFC.common.Environment.ShowMessage(xe.Message);
                //}
                //else
                //{
                //    SilverlightLFC.common.Environment.ShowMessage("中央分辨率(瑞利判据)测试错误");
                //    //throw new SilverlightLFC.common.LFCException("中央分辨率(瑞利判据)测试错误", null);
                //}
            }
        }
コード例 #22
0
ファイル: XMarkTest.xaml.cs プロジェクト: lynxliu/CameraTest
 public void TestBrightChanges()
 {
     try
     {
         BeginTime = DateTime.Now;
         decimal r = (testHelper.CurrentChart as XMarkChart).getBrightChanges() * 100;
         //Button li = new Button();
         //li.Name = "TLightingEquality";
         buttonBrightChanges.Content = "亮度一致性:" + r.ToString() + " %";
         //li.Click += new RoutedEventHandler(XMarkBrightChanges_Click);
         buttonBrightChanges.SetValue(ToolTipService.ToolTipProperty, "数据表示在照片里面中心亮度和四周亮度的差异,无差异时为0");
         //ResultPanel.Children.Add(li);
         EndTime = DateTime.Now;
         LParameter lp = testHelper.getNewParameter("XMark测试卡", Convert.ToDouble(r), BeginTime, EndTime);
         lp.Name      = "亮度一致性";
         lp.Memo      = "数据表示在照片里面中心亮度和四周亮度的差异,无差异时为0";
         lp.Dimension = "%";
         //lp.TestWay = "XMark测试卡";
         //lp.TestTime = _EndTime;
         //lp.SpendTime = (_EndTime - _BeginTime).TotalMilliseconds;
         //lp.Value = Convert.ToDouble(r);
         //lp.TestWay = t.ChartPhoto;
         //lp.TestChart = testHelper.CurrentChart.ChartPhoto;
         testHelper.ParameterList.Add(lp);
         //processbar.Value = 15;
         //time.Start();
         //XMarkTest.px = 30;
         //SendEvent(3);
         //t.sendProcEvent(true, "");
         //bw.ReportProgress(45, li);
         //processbar.Value = 80;
     }
     catch (Exception xe)//未知的异常
     {
         testHelper.ProcessError(xe, "测试亮度一致性错误");
     }
 }
コード例 #23
0
ファイル: XMarkTest.xaml.cs プロジェクト: lynxliu/CameraTest
 public void TestColorTrend()
 {
     try
     {
         BeginTime = DateTime.Now;
         decimal r = (testHelper.CurrentChart as XMarkChart).getColorDis();
         //Button li = new Button();
         //li.Name = "ColorTrendValue";
         buttonColorTrend.Content = "色彩趋向差异:" + r.ToString() + " 度";
         //li.Click += new RoutedEventHandler(XMarkColorDis_Click);
         buttonColorTrend.SetValue(ToolTipService.ToolTipProperty, "数据表示在拍摄标准颜色时候色调的偏差,完全准确时为0");
         //ResultPanel.Children.Add(li);
         EndTime = DateTime.Now;
         LParameter lp = testHelper.getNewParameter("XMark测试卡", Convert.ToDouble(r), BeginTime, EndTime);
         lp.Name      = "色彩趋向差异";
         lp.Memo      = "数据表示在拍摄标准颜色时候色调的偏差,完全准确时为0";
         lp.Dimension = "度";
         //lp.TestWay = "XMark测试卡";
         //lp.TestTime = EndTime;
         //lp.SpendTime = (EndTime - BeginTime).TotalMilliseconds;
         //lp.Value = Convert.ToDouble(r);
         //lp.TestChart = testHelper.CurrentChart.ChartPhoto;
         testHelper.ParameterList.Add(lp);
         //processbar.Value = 20;
         //time.Start();
         //t.sendProcEvent(true, "");
         //SendEvent(4);
         //XMarkTest.px = 20;
         //bw.ReportProgress(20, li);
         //progressBar.Value = 40;
     }
     catch (Exception xe)//未知的异常
     {
         testHelper.ProcessError(xe, "测试色彩趋向误差测试错误");
     }
 }
コード例 #24
0
        //public void SaveResult()
        //{
        //    OpenFileDialog of = new OpenFileDialog();
        //    of.Filter = "HTML文件|*.html";
        //    of.ShowDialog();
        //    if (of.File != null)
        //    {
        //        string s=WriteToHTML();
        //        byte[] sb= System.Text.Encoding.Unicode.GetBytes(s);

        //        FileStream fs = of.File.OpenWrite();
        //        fs.Write(sb, 0, sb.Length);
        //    }
        //}

        List <IParameter> ProcessResult()
        {
            List <IParameter> pl = new List <IParameter>();
            List <string>     nl = ResultList.Select(v => v.Name).Distinct().ToList();
            List <IParameter> tl = new List <IParameter>();

            foreach (string n in nl)
            {
                tl = ResultList.Where(v => v.Name == n).ToList();
                if (tl.Count > 0)
                {
                    IParameter p = new LParameter();
                    p.Name      = tl[0].Name + "一共测试:" + tl.Count.ToString();
                    p.Memo      = p.Memo;
                    p.Dimension = tl[0].Dimension;
                    p.SpendTime = tl.Average(pv => pv.SpendTime);
                    p.TestTime  = tl.Max(v => v.TestTime);
                    p.TestWay   = tl[0].TestWay;
                    p.Value     = tl.Average(pv => pv.Value);
                    pl.Add(p);
                }
            }
            return(pl);
        }
コード例 #25
0
        void Test()
        {
            if (button1LS.Tag == null)
            {
                SilverlightLFC.common.Environment.ShowMessage("请选择0.1半径对角线左边界");
            }
            if (button1RS.Tag == null)
            {
                SilverlightLFC.common.Environment.ShowMessage("请选择0.1半径对角线右边界");
            }
            if (button5LS.Tag == null)
            {
                SilverlightLFC.common.Environment.ShowMessage("请选择0.5半径对角线左边界");
            }
            if (button5RS.Tag == null)
            {
                SilverlightLFC.common.Environment.ShowMessage("请选择0.5半径对角线右边界");
            }
            if (button9LS.Tag == null)
            {
                SilverlightLFC.common.Environment.ShowMessage("请选择0.9半径对角线左边界");
            }
            if (button9RS.Tag == null)
            {
                SilverlightLFC.common.Environment.ShowMessage("请选择0.9半径对角线右边界");
            }
            BeginTime = DateTime.Now;



            double _1l = getDistance((button1LS.Tag as Point?).Value, (button1RS.Tag as Point?).Value);
            double _5l = getDistance((button5LS.Tag as Point?).Value, (button5RS.Tag as Point?).Value);
            double _9l = getDistance((button9LS.Tag as Point?).Value, (button9RS.Tag as Point?).Value);

            double r5 = (testHelper.CurrentChart as AbstractTestChart).ptp.getGBAberration(_5l, _1l, 5);
            double r9 = (testHelper.CurrentChart as AbstractTestChart).ptp.getGBAberration(_9l, _1l, 9);



            double h = 0.05;

            if (!checkBoxFocus.IsChecked.Value)
            {
                h = 0.07;
            }
            if (Math.Abs(r5) < h && Math.Abs(r9) < h)
            {
                ChartTestHelper.setGBSign(true, gridGB);
            }
            else
            {
                ChartTestHelper.setGBSign(false, gridGB);
            }
            EndTime = DateTime.Now;
            LParameter lp = testHelper.getNewParameter("畸变测试卡0.5处", r5, BeginTime, EndTime);

            lp.Name      = "国标畸变测试0.5处";
            lp.Memo      = "计算照片变形程度测算畸变";
            lp.Dimension = "";
            testHelper.ParameterList.Add(lp);

            lp           = testHelper.getNewParameter("畸变测试卡0.9处", r9, BeginTime, EndTime);
            lp.Name      = "国标畸变测试0.9处";
            lp.Memo      = "计算照片变形程度测算畸变";
            lp.Dimension = "";
            testHelper.ParameterList.Add(lp);

            ShowTestResult(lChartPhoto1.getPhoto());
        }