为什么在切片 numpy ndarrays 时会出现此下溢错误?

问题描述

我正在尝试使用 pyplot 制作一个网格图像——特别是一个我可以用作包含一些统一尺寸的较小图像的二维数组的“画廊”的图像。我大部分都成功了,但是我用来放置网格的空白图像上有随机噪声。即使我使用 4x4 输入图像也会发生这种情况:(

当我运行这个时,我收到错误消息

C:\Users\[me]\anaconda3\lib\site-packages\matplotlib\image.py:491: 
RuntimeWarning: underflow encountered in true_divide
  vrange /= ((a_max - a_min) / frac)

从相对有序的噪音中我认为这将是一个溢出错误,但我想不是......这里发生了什么,我该如何解决

import numpy as np
import matplotlib.pyplot as plt

def grid_binim(a):
    bweight = 1
    bcolor = .5
    #shift = 0
    plt.figure()
    plt.axis("off")
    n = a.shape[0]
    size = n*n + 2*n*bweight
    out = np.ndarray((size,size))
    for i in range(n):
        pixeli = n*i+(i)*bweight*2
        out[pixeli,:] = bcolor
        out[pixeli+n+1,:] = bcolor
        for j in range(n):
            pixelj = n*j+(j)*bweight*2
            out[pixeli:pixeli+n+1,pixelj] = bcolor
            out[pixeli:pixeli+n+1,pixelj+n+1] = bcolor
            
    plt.imshow(out,cmap=plt.cm.gray,vmin=0.0,vmax=1.0)

blank = np.zeros((4,4,4))
grid_binim(blank)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)