【发布时间】:2020-07-01 19:15:33
【问题描述】:
我想将热图数字化,此来源中的面板 D
作为第一步,我尝试在opencv中读取图像并获得一个矩阵
import cv2
from pprint import pprint
def read_as_digital(image):
# mage dimensions
h = image.shape[0]
w = image.shape[1]
print(h, w)
pass
if __name__ == '__main__':
image = cv2.imread('ip.jpg', 1)
pprint(image)
read_as_digital(image)
我可以将图像读取为矩阵,但我不知道如何在热图中指定单元格的开头(对应于图像面板 D 中的不同子图)。最后,我想将像素映射到值。
任何关于如何进行的建议都会非常有帮助
编辑1:
我试图获取点击时的值
例如,当我考虑源中提供的热图的一小部分时
我希望获得图像中每个单元格(以黄点为中心)的平均值。 单击不同的点会产生不同的值。单击已匹配的单元格 在不同的点给出不同的 RGB 值。
任何关于如何获得每个单元格平均值的建议(例如)都会很有帮助。
EDIT2:
我已经尝试了更新的代码。
这个的平均平均值((例如))效果很好。但是,它旁边的单元格存在问题。当我单击相邻的单元格时,代码显示的平均值是 3 个具有相同颜色的单元格。如果有一种方法来限制单元格大小,那就太好了,就像指定一个边界,在代码中应该计算平均值。编辑 1 中呈现的图像有 6 行和 6 列。如果我们将其视为 6 x 6 矩阵,例如 A,则应为矩阵的每个 Aijth 条目获得平均值。
【问题讨论】:
-
我需要一些细节: 1- 你想要像指定图像一样的热图吗?你有热图图像吗?它是连续的吗?你想让它被mozaiced吗? 2-或者你有指定的图像,你想从中提取热图值?!
-
@a-sam 非常感谢您的回复。我有指定的图像,我想从中提取热图值。
-
请更好地指定您想要使用的确切输入图像。
-
你可以做一些非常基本的图像识别来找到盒子的大小,然后简单地平均边缘和中心边缘内的所有内容。
-
但目前最简单的方法是联系作者并索要数据。
标签: python-3.x image opencv image-processing heatmap