【发布时间】:2020-11-29 18:42:31
【问题描述】:
static readonly CascadeClassifier cascadeClassifier = new CascadeClassifier("haarcascade_frontalface_alt_tree.xml");
void Device_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
Bitmap bitmap = (Bitmap)eventArgs.Frame.Clone();
Image<Bgr, byte> grayImage = new Image<Bgr, byte>(bitmap);
Rectangle[] rectangles = cascadeClassifier.DetectMultiScale(grayImage, 1.2, 1);
foreach (Rectangle rect in rectangles)
{
using (Graphics graphics = Graphics.FromImage(bitmap))
{
using (Pen pen = new Pen(Color.Red, 5))
{
graphics.DrawRectangle(pen, rect);
}
}
}
bitmap.RotateFlip(RotateFlipType.RotateNoneFlipX);
webcamDetection.Image = bitmap;
}
这是我正在使用的代码 我的问题是如何获得红色矩形的 x 和 y 值,以便我可以将这些值发送到 arduino 并设置伺服系统。我可以提供更多信息,希望有人可以帮助我。
【问题讨论】:
-
你把矩形放在那里了吗?如果是这样,只需跟踪它们。如果没有,您将不得不扫描每一行
-
我认为矩形的坐标是由人脸识别给出的,虽然我不确定,但我是 C# 新手。如果有的话,我该如何扫描每一行?我的想法是将每个像素与笔的颜色进行比较,但我不知道这是否可以编码。
-
我觉得这个问题不是很清楚。它是否涉及如何检测图像中具有指定颜色的矩形?或者如何取一个矩形并将坐标发送到 arduino?
-
我正在尝试找到一种方法来获取矩形坐标以发送 arduino。
-
很高兴得知您的问题已经解决,您可以给个回复并将您的回复标记为答案。 how to mark
标签: c# visual-studio winforms opencv bitmap