我有一些具有给定的高度和宽度的图像,以及一些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/