Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plt imshow没有';t自动处理负值(python)_Python_Matplotlib_Imshow - Fatal编程技术网

Plt imshow没有';t自动处理负值(python)

Plt imshow没有';t自动处理负值(python),python,matplotlib,imshow,Python,Matplotlib,Imshow,我目前正在实现高斯差分算法。到目前为止,我已经成功地在每个八度音阶中创造了狗,并形成了金字塔。首先,所有图像都已处于灰度级,其次,我们知道每个狗级别中的每个图像都是通过将当前图像与前一个图像相减来创建的(这将导致一些负值) 现在我想用matplotlib来绘制这个。从文档中,我读到“imshow通过适当缩放亮度值自动处理负值,因此最小(负值)值将显示为黑色,接近零的值将显示为灰色,而最高值将显示为白色。”因此我尝试这样做 plt.imshow(imae,cmap=“gray”) 但不知怎的,我还

我目前正在实现高斯差分算法。到目前为止,我已经成功地在每个八度音阶中创造了狗,并形成了金字塔。首先,所有图像都已处于灰度级,其次,我们知道每个狗级别中的每个图像都是通过将当前图像与前一个图像相减来创建的(这将导致一些负值)

现在我想用matplotlib来绘制这个。从文档中,我读到“imshow通过适当缩放亮度值自动处理负值,因此最小(负值)值将显示为黑色,接近零的值将显示为灰色,而最高值将显示为白色。”因此我尝试这样做

plt.imshow(imae,cmap=“gray”)

但不知怎的,我还是得到了灰度图像,而不是像这里的一些例子中那样的黑白图像:

然后我试着将vmin设置为零,它就工作了。我只是不明白为什么默认情况下它没有按照文档中的说明运行

**编辑(包括一些源代码)**

这就是我的狗octave的样子

def DoG_octave(gaussian_octave):
    octave = []
    for i in range(0, len(gaussian_octave)-1):
      next_image = np.subtract(gaussian_octave[i+1], gaussian_octave[i])
      octave.append(next_image)

    return octave
这将从高斯金字塔中获取一个高斯倍频程级别,并返回一个狗狗倍频程级别以创建狗狗金字塔,对于这个级别(“imae”)中的每个图像,我使用imshow显示它们,因此
plt.imshow(imae,cmap=“gray”)

当图像中存在异常值时,通常会发生这种情况,比如图像中的某个值为-3,另一个值为10,其余值为~0。在这种情况下,图像的大部分部分变成灰色。如果没有关于变量
imae
的更多信息,就很难进一步帮助您。@LudvigH我可以问一下,我应该为变量
imae
提供更多什么吗?制作一个MVE,显示您的问题。你可以在这里读到更多:@LudvigH我希望这足够了,因为当你有离群值时经常会发生这种情况,比如说图像中的某个值是-3,另一个值是10,其余的值是~0。在这种情况下,图像的大部分部分变成灰色。如果没有关于变量
imae
的更多信息,就很难进一步帮助您。@LudvigH我可以问一下,我应该为变量
imae
提供更多什么吗?制作一个MVE,显示您的问题。你可以在这里读到更多:@LudvigH我希望足够了