2

目前,我尝试从Media Foundation Transform修改示例。我倾向于实现以下目标

  • 在 C++ 代码中执行人脸检测。
  • 将检测到的人脸坐标传回 C# 代码。
  • 让 C# 在屏幕上绘制检测到的面部矩形。

我完成了第 1 步。但是,我被第 2 步所吸引。我面临着类似的问题:How to get feedback from MediaCapture API in Windows 8。我找不到办法让我的 C++ MFT 代码与 C# 代码交谈。

我在想另一种解决方法。使用 C++ 代码直接绘制一个矩形。IMFMediaBuffer

但是,我没有看到 Microsoft 提供这样的 API 来做到这一点。如果没有,我可以使用的正确方法是什么?

4

1 回答 1

0

如果您可以设置像素颜色,那么使用循环绘制矩形应该相当简单。

for (int y = top; y <= bottom; y++)
    for (int x = left; x <= right; x++)
        pixels[y * width + x] = color; // pseudocode

仅绘制矩形的边框只是 4 个单独的循环。

最简单的画圆方法:

for (int y = -r; y <= r; y++)
    for (int x = -r; x <= r; x++)
        if (x * x + y * y < r * r)
            pixels[(center.y + y) * width + center.x + x] = color; // pseudocode
于 2012-10-18T04:10:58.720 回答