擅长:python、mysql、java
<p>问题是,乘和除255之后的数组变成了浮点数组:</p>
<pre><code>>>> a = misc.imread(path)
>>> a.dtype
dtype('uint8')
>>> b = a / 255
>>> b = b * 255
>>> b.dtype
dtype('float64')
</code></pre>
<p>我猜<code>img.show()</code>函数不知道如何显示浮点数。它可能将浮点值解释为uint8或类似的值,并尝试以某种方式显示它们。不幸的是,<code>img.show()</code>的<a href="https://pillow.readthedocs.io/en/3.4.x/reference/Image.html#PIL.Image.Image.show" rel="nofollow noreferrer">docs</a>并没有告诉我们它是如何工作的。你知道吗</p>
<p>但是,Scipy的<code>misc</code>模块有自己的<a href="https://docs.scipy.org/doc/scipy-0.18.1/reference/generated/scipy.misc.imshow.html#scipy.misc.imshow" rel="nofollow noreferrer">^{<cd4>}</a>,它运行良好:</p>
<pre><code>>>> misc.imshow(b)
</code></pre>
<p>另一方面,如果同时使用<code>scipy.misc</code>和<code>PIL</code>/<code>pillow</code>,它们处理数组的方式似乎有些不同。例如,参见<a href="https://stackoverflow.com/q/19016144/525169">this</a>问题。你知道吗</p>