【发布时间】:2021-08-08 17:10:25
【问题描述】:
我正在尝试在视频中实时绘制检测到的面孔,但我似乎无法让它工作
var haarcascade = new CascadeClassifier("C:/Users/NotMyName/Desktop/haar/haarcascade_frontalface_alt2.xml");
using (Window window = new Window("capture"))
using (Mat image = new Mat())//Image Buffer
{
while (true)
{
Video.Read(image);
var gray = image.CvtColor(ColorConversionCodes.RGB2GRAY);
OpenCvSharp.Rect[] faces = haarcascade.DetectMultiScale(gray, 1.08, 2, HaarDetectionTypes.ScaleImage, new OpenCvSharp.Size(30,30));
foreach (Rect i in faces)
{
Cv2.Rectangle(image, (faces[i].BottomRight.X, faces[i].BottomRight.Y), (faces[i].TopLeft.X, faces[i].TopLeft.Y), 255, 1);
}
但是,编译器只会吐出错误。将 faces 数组直接传递给函数也不起作用。错误信息是(翻译自德语)。
错误 CS0029 类型“OpenCvSharp.Rect”无法转换为“int”
【问题讨论】:
-
哪一行触发了这个错误?
标签: c# .net opencv facial-identification