如何确定图像网格元素的坐标

时间:2016-07-07 10:21:40

标签: python image algorithm matplotlib

给定具有已知尺寸(例如14782 x 5495像素)和所需方形尺寸(例如宽度,高度= 696像素)尺寸的图像,如何获得网格中每个元素的坐标?

enter image description here

实际上,我的图片没有网格。但是我想让坐标好像网格一样存在,如上所示。

坐标定义如下:

  

x和y是左上角的坐标(以像素为单位)   的选择。坐标系的原点(0,0)是   图像的左上角。

对于所有给定的输入图像,网格元素大小的核心大部分是固定的。 (例如,尺寸宽度x高度= 1000x1000像素的正方形)。网格周围元素的形状不是平方的,没关系。

完全像上图所示的网格方案。

实际图片为downloadable here(160MB)。

2 个答案:

答案 0 :(得分:7)

似乎这就是你想要的:

x = [i for i in range(696, 14782, 696) for j in range(696, 5495, 696)]
y = [j for i in range(696, 14782, 696) for j in range(696, 5495, 696)]

测试它

import matplotlib.pyplot as plt    
img = imread('04_709_channel-3.tif')
plt.imshow(img, cmap='gray')
plt.plot(x, y, 'ro')

enter image description here

答案 1 :(得分:3)

对于宽度为w,高度为h且像素缓冲数组data的图片,索引i的像素坐标由x = i % w, y = i / w给出,其中{ {1}}是模数,%是整数除法。

编辑:通过索引/,我的意思是先增加i,然后增加y,即操作是{{1} }