在图像上绘制网格线
在图像上绘制网格线
我正在遵循这个答案,但我并没有每10个步骤得到网格线:\n
import matplotlib.pyplot as plt plt.figure() img=ims[0].copy() dx, dy = 10,10 # 自定义(rgb)网格颜色 grid_color = -1500 # 修改图像以包含网格 img[:,::dy] = grid_color img[::dx,:] = grid_color plt.imshow(img,'gray',interpolation='none',vmin=-1500,vmax=2258)
\n
在绘制图像时,为了确保图像中的每个像素都能够正确显示,需要确保绘制的图像中的一个像素在屏幕上大于或等于一个像素。
首先,我们看到一个示例,图像的dpi为100,高度为4.5英寸,每边有10%的边距,一张具有350像素的图像将正确显示。
然后,我们看到另一个示例,图像的dpi为100,高度为3.2英寸,每边有10%的边距,一张具有350像素的图像将无法显示每个像素,因此输出结果如图所示。
为了在后一种情况下获得一个网格,可以使用这个答案,通过创建一个网格并设置网格的线宽,使其始终为0.72个点(等于100dpi下的1个像素)。
下面是使用该方法的代码和输出结果。我们可以看到,图像被正确地分成了网格。
通过以上方法,我们可以在绘制图像时确保每个像素都能够正确显示,并且可以根据需要添加网格线。