用python显示图像修补程序

用python显示图像修补程序,python,image,numpy,matplotlib,computer-vision,Python,Image,Numpy,Matplotlib,Computer Vision,我在图像上使用滑动窗口,希望显示每个窗口“查看”的图像补丁 我首先将代码保存在这里:作为滑动窗口.py,然后将其导入此代码: from itertools import izip import numpy as np import sliding_window as sw from skimage.viewer import ImageViewer from skimage import data, io, filter, color, exposure from PIL import Imag

我在图像上使用滑动窗口,希望显示每个窗口“查看”的图像补丁

我首先将代码保存在这里:作为
滑动窗口.py
,然后将其导入此代码:

from itertools import izip
import numpy as np
import sliding_window as sw
from skimage.viewer import ImageViewer
from skimage import data, io, filter, color, exposure
from PIL import Image        
from scipy.misc import toimage

io.use_plugin('matplotlib')

image1 = color.rgb2gray(io.imread("PATH_TO_MY_IMAGE\\akaria1.jpg"))
window_size = (100,100)
windows = sw.sliding_window(image1, window_size)

# make an image out of these of these sliding window thingies
for w in windows:
        wi = Image.fromarray(w)
        io.imshow(wi)
但是没有图像显示。也没有错误。程序似乎什么也不做就执行了。我听说这和Windows上的bug有关?有什么办法?或者是否有显示图像修补程序的替代方法


如果我在上面的
for
循环中打印出
w
,我确实可以看到许多数组,因此我知道
滑动窗口
部分没有问题。问题在于我是否正确转换和/或显示了给定阵列中的图像。

我已经解决了问题。 看起来我不需要坚持使用滑动窗口生成的数组创建图像。像对待图像那样对待它们就足够了

for w in windows:
        pl.imshow(w) #no need to use Image.fromarray()
        pl.show()

纯粹是猜测。位,如果此
io
使用matplotlib作为插件。您可能需要调用一个函数来显示图形,因为这是在matplotlib中实现的方法。
io
是否有显示方法
io.show()
同意前面的评论。如果该方法不存在,请将matplotlib.pyplot导入为plt,然后
plt.show()
刚刚尝试了
wi=Image.fromrarray(w)io.imshow(wi)io.show()
,我确实得到了一些显示。但我得到了一个x轴和y轴的纯黑色矩形,就是这样。不是我正在寻找的图像修补程序。我删除了
image.fromarray()
,并直接将数组放入,结果成功了。有人能解释为什么这样做有效吗?