образец 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.