gpt4 book ai didi

emgucv - 运动检测的最佳色彩空间是什么

转载 作者:行者123 更新时间:2023-12-02 01:08:16 25 4
gpt4 key购买 nike

我在 C# 中使用 Emgu。

我有一个来自相机提要的 jepg 流。目前,我使用 2 个图像之间的 absdiff 来获取运动变化。

Image<Bgr, byte> _diffBetweenCurrentAndPrevious = _currentFrame.Convert<Bgr, Byte>().AbsDiff(PreviousFrame.Convert<Bgr, Byte>());

然后我枚举包含所有变化的图像的数据数组,并寻找超过特定阈值的运动。

 float diffCouner = 0;
for (int y = 0; y < 576; y++)
{
for (int x = 0; x < 720; x++)
{
if (_diffBetweenCurrentAndPrevious.Data[y, x, 0] >= 10
|| _diffBetweenCurrentAndPrevious.Data[y, x, 1] >= 10 ||
_diffBetweenCurrentAndPrevious.Data[y, x, 2] >= 10)
{
BaseImage.Data[y, x, 0] = _currentFrame.Data[y, x, 0];
BaseImage.Data[y, x, 1] = _currentFrame.Data[y, x, 1];
BaseImage.Data[y, x, 2] = _currentFrame.Data[y, x, 2];
diffCouner++;
}
}
}

目前我正在使用 BGR。

使用 HSV 或 YCC 或..哪个更好?

我注意到在使用 YCC 时我必须使用较低的阈值,因为对于夜间经过的汽车来说,运动似乎并不清晰。

我对最佳方法感兴趣。

或者我应该使用 <Gray,Byte>格式?

我问的原因是我已经尝试了所有方法并且它们似乎都有效。但在一天中的不同时间,它可能不是那么好,例如阴暗或明亮的一天。或低对比度。

我可以并且将会在几天内进行测试,但我会像一个红印第安人一样祈祷季节的变化。

欢迎任何建议。

谢谢

以防万一有人感兴趣地关注我的问题,我发现使用 <Gray,Byte>对于光线变化,效果不够好。

我现在正在使用 <HSV,Byte> 运行测试

最佳答案

我曾经遇到过完全相同的问题。我认为没有办法解决您的问题。如果您可以在运行时更改 h s v 参数并根据阈值检查您的组合是否足够好,我建议您创建一个应用程序。我为此使用了这个项目。希望对你有帮助http://www.osslab.com.tw/@api/deki/files/3550/=An_autonomous%252c_co-operative_telerobotic_agent_framework_for_WowWee_Rovio_-_Konstantinos_Tsimpoukas_1130191.pdf

关于emgucv - 运动检测的最佳色彩空间是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20237771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com