图像压力和图像压力转换

时间:2019-09-27 05:35:01

标签: opencv image-processing computer-vision bioinformatics yolo

编辑:我正在处理压力图数据集,其中压力传感器数据为“床内姿势压力数据”。

数据集:https://physionet.org/content/pmd/1.0.0/

使用下面的代码,我可以将压力数据转换为图像。

line = f.readlines()[3]
lst1 = line.strip().split()
lst = [int(x) for x in lst1]

# Convert into a 64*32 array
rr = np.asarray(lst).reshape(64, 32)

plt.imshow(arr, cmap='hot', interpolation='nearest')

形成的图像如下:

enter image description here

现在,我的主要座右铭是分别分析每个身体部位。为此,我要使用身体部位的边界框,然后需要获取该部位的原始传感器数据,然后使用压力值进行分析。

假设我正在分析头部。为此,我必须获取该子部分的原始压力数据。子部分由使用图像的边界框确定。

如何使用图像的边界框获得原始压力值?

1 个答案:

答案 0 :(得分:0)

阅读您的评论我认为您使用输出图像来确定头部的位置。但是,输出图像会按比例放大,这意味着比数据点数量更多的像素。这就是为什么您的范围超出数组维度的原因。

这是一个图像,其中每个数据点均为1像素(很难看到,为灰度值):

enter image description here

我使用您的代码绘制了同一张图片:

enter image description here

注意如何将实际数据点计算为颜色块。轴等于数据点数(以列/行为单位)。我将鼠标放在头部位置,所以它的(圆形)位置是x = 13,y = 3。

然后,选择一般头部区域:

head = arr[1:7,10:18]
print(head)
plt.imshow(head, cmap='hot', interpolation='nearest')

给出值:

  

[[49 54 99182182 106 106 35 35]
   [22 49 229 257 314 224 81 5]
   [15 55 131 194 177 199 599 59 5]
   [7 20 61 96 144 346 19 3]
   [2 3 19 33 60 83 10 0]
   [9 5 11 13 72 46 2 0]]

enter image description here

可能很难看清,因为颜色已重新映射。