Я использовал библиотеку emgu версии 4.1.1.3479 и обнаружил эту ошибку «System.TypeInitializationException:» и внутреннее исключение как «CvException: OpenCV: входной файл пуст»
Пожалуйста, сообщите, как я могу передать эту ошибку.
Ниже приведен код.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Emgu.CV;
using Emgu.CV.Structure;
namespace FaceDetection
{
public partial class Form1 : Form
{
static readonly CascadeClassifier cascadeClassifier = new CascadeClassifier("opencv_haarcascade_frontalface_alt2.xml");
public Form1()
{
InitializeComponent();
}
private void detectButton_Click(object sender, EventArgs e)
{
using (OpenFileDialog ofd = new OpenFileDialog() { Multiselect = false, Filter = "JPEG | *.jpg" })
{
picture.Image = Image.FromFile(ofd.FileName);
Bitmap bitmap = new Bitmap(picture.Image);
Image<Bgr, byte> grayImage = new Image<Bgr, byte>(bitmap);
Rectangle[] rectangles = cascadeClassifier.DetectMultiScale(grayImage, 1.4, 0);
foreach (Rectangle rectangle in rectangles)
{
using (Graphics graphics = Graphics.FromImage(bitmap))
{
using (Pen pen = new Pen(Color.Red, 1))
{
graphics.DrawRectangle(pen, rectangle);
}
}
}
picture.Image = bitmap;
}
}
}
}