Matplotlib 如何在同一分辨率下绘制不同大小的图像?

Matplotlib 如何在同一分辨率下绘制不同大小的图像?,matplotlib,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 可见,从一个图像到另一个图像,像素的大小不一样。 如

一组图像绘制如下:

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
可见,从一个图像到另一个图像,像素的大小不一样。 如何解决这个问题


使用插值=‘双线性’并以规则间距对结果进行二次采样(比如每隔四个像素进行一次采样,这取决于您想要的最终像素大小),然后形成一个小图像。然后用“最近的”插值放大这个微小的图像

您也可以为第一次插值保留“最近”设置,但结果会很难看。

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

比如:

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)

这并不是说,使用双线性,图像只是模糊了。我已经更新了我的答案。请记住,显示这种“合成”像素只是一种伪造。