Qr сканер сканирует небольшую коробку внутри qr кода - PullRequest
0 голосов
/ 07 февраля 2020

образец qrcode

Привет всем! Я использую OpenCVSharp C# для своего сканера QRCode, я могу обнаружить некоторый QR-код помимо этого, он сканирует небольшие прямоугольники внутри QR-кода (см. Изображение выше), есть ли способ избежать этого сценарий? Спасибо за любую помощь, спасибо!

private void btn_DetectObject_Click(object sender, EventArgs e)
    {
        if (srcImage == "") return;
        var haarCascade = new CascadeClassifier(cascadeXML);
        Mat src = new Mat(srcImage);

        Mat gray = new Mat();

        Mat result = src.Clone();
        Cv2.CvtColor(src, gray, ColorConversionCodes.BGR2GRAY);

        // 顔検出
        Rect[] faces = haarCascade.DetectMultiScale(
            gray, 1.08, 2, HaarDetectionType.FindBiggestObject, new OpenCvSharp.Size(30, 30)); //1.08 = scale 2 = number of neighbors

        if (faces.Length == 0)
        {
            System.Media.SystemSounds.Beep.Play();
        }
        else
        {
            // 検出した顔の位置に円を描画
            int n;
            for (n = 0; n < faces.Length; n++)
            {
                int x = faces[n].X;
                int y = faces[n].Y;
                int w = faces[n].Width;
                int h = faces[n].Height;
                int k = PicImageIpl.Image.Width;
                Cv2.Rectangle(result, new Rect(x, y, w, h), 0xff0000, 2);
                PicImageIpl.ImageIpl = result;

                float qrResult = (float)w / (float)k;
                MessageBox.Show(qrResult.ToString());
            }
        }
        src.Dispose();
        gray.Dispose();
        result.Dispose();
    }

это мой код для обнаружения, я использовал haarCascade.

...