Image processing 在考虑噪音的情况下,在游泳池中为游泳者创建对比的最有效方法

Image processing 在考虑噪音的情况下,在游泳池中为游泳者创建对比的最有效方法,image-processing,Image Processing,我想计算一个池中的人数,以便统计使用情况。我将使用人工智能和图像处理技术对泳池天花板上的安全摄像头生成的图像进行处理。相机是静态的,因此没有旋转轴 对于图像处理步骤,我想将重点放在游泳运动员身上,并尝试移除游泳池的其余部分。我需要背景和游泳者之间有一个很好的对比 问题是相机的输出图像有很多“噪音”,比如阳光、光线、水底的黑线、空中的旗帜和空中走廊的电缆 下面是一个图像的示例。真正的图像质量会更好,因为这个例子是用我的手机拍摄的 什么是最有效的方法来消除我身体上的阳光/光线 图像?也许用过滤器

我想计算一个池中的人数,以便统计使用情况。我将使用人工智能和图像处理技术对泳池天花板上的安全摄像头生成的图像进行处理。相机是静态的,因此没有旋转轴

对于图像处理步骤,我想将重点放在游泳运动员身上,并尝试移除游泳池的其余部分。我需要背景和游泳者之间有一个很好的对比

问题是相机的输出图像有很多“噪音”,比如阳光、光线、水底的黑线、空中的旗帜和空中走廊的电缆

下面是一个图像的示例。真正的图像质量会更好,因为这个例子是用我的手机拍摄的

  • 什么是最有效的方法来消除我身体上的阳光/光线 图像?也许用过滤器
  • 我怎样才能在游泳运动员和运动员之间形成鲜明的对比 背景,考虑到水底的黑线
因为相机不移动,我可以获得其他背景相同的图像(阳光除外),也许我可以利用图像上的差异来提取游泳者


我正在寻找任何想法/过滤器/参考。

我的建议是将图像分析到HSV空间中。信息H(色调)对应于颜色。S(饱和度)是颜色的纯度

如果使用matlab,请使用opencv中的函数rgb2hsv(),使用CVTColor()转换颜色空间

这是我在你的照片上做的一个小实验。我已将图像转换为HSV空间。我已经发布了它的假彩色地图。现在有了这个,你可以做的就是聚集一些类似k-均值的东西来识别人

在倍频程/matlab中重新生成它的确切命令是:

>> im = imread( '9Nd5s.png' );
>> hsv = rgb2hsv( im );
>> imagesc( hsv(:,:,1) ), colormap( hot )

希望这是有帮助的,让我知道如果你需要更多的帮助。你的问题似乎很有趣

因为你有视频,背景减法似乎是去除线条和旗帜等的好方法。不要担心水面上的高光,你可能会想要寻找黑暗区域。我喜欢这个结果!这里的问题是黄旗,它看起来像HSV输出中的游泳者。看看图像的中间部分,计算机将如何检测游泳者的旗帜?一个简单的方法是在HSV空间上进行阈值分割。名为ImageJ的工具将非常有助于确定阈值。你基本上需要颜色检查器插件。好的,我将测试ImageJ。非常感谢。