python - 将感兴趣的图像点转换为坐标

标签 python numpy opencv python-imaging-library

我有一些具有给定的高度和宽度的图像,以及一些POI作为整数值列表。
我想将此POI转换为(x,y)坐标列表。我知道这可以通过内置的for循环来完成。我正在寻找使用np,Pillow,opencv2或 friend 的更有效方法。

这是一个例子:

Image WxH: 1024x1024
POIs: [10, 1025, ...]

Result: [(10, 0), (1, 1), ...]

最佳答案

可以通过列表理解来简洁地实现:

WIDTH = 1024
pois = [10, 1025, ...]

coordinates = [(p % WIDTH, p // WIDTH) for p in pois]


另外,您可以使用内置的divmod同时执行除法和余数计算。但是,这将按照期望的顺序生成对,因此您需要向reverse添加另一个调用:
coordinates = [reverse(divmod(p, WIDTH)) for p in pois]

虽然可能更有效,但结果列表的组成可能不太清楚。

关于python - 将感兴趣的图像点转换为坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60140773/

相关文章:

python - Django基于最新相关模型字段的过滤器

python - Django 访问值对象中的反向外键数据

python - numpy all() 评估不正确

python - 神经网络似乎在每次执行时都停留在单个输出上

python - 如何高斯过滤(模糊)浮点numpy数组

opencv - 如何让 FFMPEG 从 OpenCV 获取帧并将它们流式传输到 HTTP 服务器

python - 如何在不压缩文件的情况下估计文件的可压缩性?

python - DataFrame.set_index 返回 'str' 对象不可调用

python - numpy.einsum 中的省略号广播

c++ - 检查相机标定效率,用opencv