当进行有关图像处理的任务时,我们通常会遇到的一个问题是:我们在读取图片时是使用图片的像素点作为坐标轴上的内容,而对于处理完的图像又常需要使用其他的单位来修饰坐标轴。
比如当前有一个需求是对于输入的图像,裁取其中的一小块,并放置在一个坐标轴中。我们使用plt默认的axis坐标轴时,坐标轴上的刻度值即为该区域的像素值范围,而我们需要自定义的将其设置为毫米单位。即使用plt库中的xticks函数,第一个参数为在坐标轴上的刻度值位置,如果像素范围为400-700,则此处的列表a的范围为0-300;第二个参数为刻度值的具体值。
plt.imshow(cropped_img, origin='lower', cmap='gray')
plt.axis('on') # 显示坐标轴
plt.xlabel('X/mm') # x轴标签
plt.ylabel('Y/mm') # y轴标签
# 转换坐标轴刻度值为毫米单位
a = [43.33335,100.8889,156.44445,212, 267.55555,323.1111,378.66665]
x_ticks_mm = [-1.5,-1,-0.5,0.0,0.5,1.0,1.5]
y_ticks_mm = [-1.5,-1,-0.5,0.0,0.5,1.0,1.5]
plt.xticks(a, x_ticks_mm)
plt.yticks(a, y_ticks_mm)