参数异常是在c#中捕获的

参数异常是在c#中捕获的

本文介绍了参数异常是在c#中捕获的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

public string FindFace()
        {

            string ex = Path.GetExtension(lbFileName.Text);
            var uniqueName = Guid.NewGuid();

            var myUniqueFileName = string.Format(@"{0}{1}", uniqueName, ex);
            Console.WriteLine("Answer ",myUniqueFileName);
            Bitmap InputImage = new Bitmap(lbFileName.Text);
            InputImage.Save(path + myUniqueFileName);


            //System.Drawing.ImageConverter converter = new System.Drawing.ImageConverter(myUniqueFileName);
            //Image img = (Image)converter.ConvertFrom(byteArrayIn);



            using (Image<Bgr, Byte> image = new Image<Bgr, byte>(myUniqueFileName))
            {
                HaarCascade haar = new HaarCascade("haarcascade_frontalface_alt2.xml");
                // there's only one channel (greyscale), hence the zero index
                //var faces = nextFrame.DetectHaarCascade(haar)[0];
                Image<Gray, byte> grayframe = image.Convert<Gray, byte>();
                var faces =
                        grayframe.DetectHaarCascade(
                                haar, 1.4, 4,
                                HAAR_DETECTION_TYPE.DO_CANNY_PRUNING,
                                new Size(image.Width / 25, image.Height / 25)
                                )[0];

                if (faces.Length != 0)
                {


                    //foreach (var face in faces)
                    //{
                        var FaceFileName = string.Format(@"{0}{1}", uniqueName, ex);
                        // image.Draw(face.rect, new Bgr(0, 255, 0), 3);
                        image.ROI = faces[0].rect;

                        string FaceImage = path + "Temp\\" + FaceFileName;
                        image.Save(FaceImage);

                        ImgFace.Image = Image.FromFile(FaceImage);


                        MessageBox.Show("Face Detected", "Success", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);


                    //}

                }
                else
                {

                    MessageBox.Show("No Face In this Image", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    lbFileName.Text = "No File Choosen";
                    this.pictureBox1.BackgroundImage = global::FaceAnnotation.Properties.Resources.no_image_selected;
                }
                File.Delete(path + myUniqueFileName);

                return uniqueName.ToString();

            }

        }

推荐答案

string result = Path.Combine(path, myUniqueFileName);



这将使您获得有效的路径规范。

更多信息: []


这篇关于参数异常是在c#中捕获的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-23 05:25