opencv - 压力到图像和图像到压力的转换
问题描述
编辑:我正在研究压力图数据集,其中压力传感器数据是“床上姿势压力数据”。
数据集: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')
形成的图像如下:
现在,我的主要座右铭是分别分析每个身体部位。为此,我使用身体部位的边界框,然后我需要获取该部位的原始传感器数据,然后使用压力值进行分析。
假设我正在分析头部。为此,我必须获取该子部分的原始压力数据。子部分由使用图像的边界框决定。
如何使用图像的边界框获取原始压力值?
解决方案
阅读您的评论,我认为您使用输出图像来确定头部的位置。然而,输出图像按比例放大,这意味着比数据点数量更多的像素。这就是为什么您的范围超出数组维度的原因。
这是一个图像,其中每个数据点为 1 个像素(很难看到,灰度值):
我使用您的代码绘制了相同的图像:
请注意如何将实际数据点计算为色块。轴等于列/行中的数据点计数。我将鼠标放在头部位置,所以它的(四舍五入)位置在 x=13,y=3。
然后,一般头部区域的选择:
head = arr[1:7,10:18]
print(head)
plt.imshow(head, cmap='hot', interpolation='nearest')
给出值:
[[ 49 54 99 182 214 106 33 35]
[ 22 49 229 257 314 224 81 5]
[ 15 55 131 194 177 199 59 5]
[ 7 20 61 96 144 346 19 3]
[ 2 3 19 033 6 ]
[ 9 5 11 13 72 46 2 0]]
可能有点难以看到,因为颜色已重新映射。
推荐阅读
- python - 使用计划函数变量
- php - 如何从此字符串中获取名称和图像文件?
- php - 在拉拉维尔。如何加密用户表中的电子邮件地址
- mysql - 如果存在,则在 linux 中使用 mysqladmin 删除数据库
- java - trying to understand the different ways of declaring an array
- git - Static code analyzer as pre-commit hook for Emacs-LISP
- python - Using **wand** to reduce image filesize for improved OCR performance?
- ios - how can i get trend topic tweet with Twitter Api
- raspberry-pi - I am trying to set up mariadb on a raspberry pi and keep getting an error message
- python - 针对 Pandas 模型优化 PyQt5 QAbstractView