如何在C#Windows窗体中创建眼动跟踪点的热图

时间:2018-08-26 08:44:05

标签: c# heatmap

我有一个数据库,其中包含一些视频的眼动数据。

为此,我将这些数据导出到int [,]输入矩阵中。然后尝试创建一个热图。 到目前为止,我得到的是这样的:

enter image description here

但这实际上并不是我想要的。我想要类似Google时看到的热图的东西,例如:

enter image description here

2 个答案:

答案 0 :(得分:0)

将每个点作为人造圆圈,以该点为中心进行处理。一个半径为50像素的圆。现在,遍历图像的所有像素,并为每个像素计算覆盖该像素的所有圆圈。这是您对该像素的得分。将其转换为颜色,即0:黑色/透明,10:浅绿色,20:黄色等。分析完所有像素后,您将获得每个像素的颜色。写一个位图,看一下。它应该接近您想要的东西。

当然,圆半径,颜色映射等需要根据您的需要进行调整。另外,这可能不是最好/最简单/最快的算法。

答案 1 :(得分:0)

不同的方法是将“热量”存储在像素的灰度值中。 只需创建第二张与原始图片大小相同的图片,并在每次查看时计算像素的灰度值即可。 稍后,您可以使用该值来计算要绘制的圆的大小和颜色。

然后您可以将热图图像放置在原始图像的顶部,然后完成操作(不要忘记设置透明度)。