如何以相同的分辨率绘制不同大小的图像?

时间:2014-02-12 07:10:07

标签: matplotlib

图像集合如下:

figure(num=None, figsize=(16, 14), dpi=300)
k=1
for i in range(1,10):
    for j in range(1,6):
        subplot(9,5,k,xticks=[],yticks=[])
        imshow(rgb_chromosomes[k-1],interpolation='nearest')
        k=k+1

可以看出,从图像到另一个图像,像素的大小不同。 如何解决这个问题?

collection of images

2 个答案:

答案 0 :(得分:1)

使用interpolation ='bilinear'并以常规间距对结果进行子采样(比如取其他四个像素,这取决于您想要的最终像素大小)并形成一个小图像。然后用'最近'插值放大这个微小的图像。

您还可以保留第一次插值的“最近”设置,但结果看起来很难看。

答案 1 :(得分:0)

所以,从图像到图像不同大小的像素?从上下文来看,我猜这些都是来自相同图像/成像条件的片段,并且您希望所有这些片段中的比例相同。

类似的东西:

fig, ax_lst = plt.subplots(9, 6)  # better way to set up your axes
for k, ax in enumerate(ax_lst.ravel()):
    ax.imshow(rgb_chromosomes[k], interpolation='none')
    ax.set_xlim([0, max_image_width])
    ax.set_ylim([0, max_image_height])
    ax.set_frame_on(False)