如何改进我的 IFrameCallBack 实现?

问题描述 投票:0回答:1

我是 Stack Overflow 的新用户,还不习惯这里的工作方式。所以如果我做错了什么,请耐心等待。于是,我就做了一次找工作的作业测试。我做到了,但显然我的成绩不够好,所以我没有通过。然而,我不知道我做错了什么。请检查我的代码,以便我了解我做错了什么。

作业测试背景

考虑以下两个接口:

  1. IFrameCallBack
public interface IFrameCallback
{
public void FrameReceived( IntPtr pFrame, int width, int height );
}
  • FrameReceived 是一种回调方法,每当图像捕获设备(即相机)有新帧可用时,本机库都会调用该方法。
  • pFrame 是指向帧的原始字节的指针,宽度和高度表示帧的大小(以像素为单位)。
  • 回调完成后,本机库会重用 pFrame 来存储下一帧。
  • 保证根据捕获设备上配置的帧速率定期调用此回调方法,在本例中为 30FPS。
  1. IValueReporter
public interface IValueReporter
{
public void Report( double value );
}
  • Report 是一个由外部库实现的回调方法,它将绘制给定的 实时图表中的值。

作业测试指导

编写一个程序从相机中获取帧,计算平均像素值,并将计算值传回。

我的代码

https://github.com/MEvanAW/FrameValueReporter

请并谢谢你。

我根据作业测试背景和说明进行编码,但结果对潜在雇主来说不够好。

c# interface intptr
1个回答
0
投票

事实证明,要审查的工作代码应该去https://codereview.stackexchange.com/,所以我将总结评论中的答案并关闭问题。如果我需要进一步审查,我会将其发布在那里。

  • 无需复制或缓冲图像。直接从 IntPtr 累加总和会更好。
  • 代码不必要地复杂。代表的东西不是要求的,也不是必需的。

感谢 JonasH 和 Piglet。

© www.soinside.com 2019 - 2024. All rights reserved.