Python 在for循环中使用imshow方法打印多个图像

Python 在for循环中使用imshow方法打印多个图像,python,matplotlib,google-colaboratory,cv2,Python,Matplotlib,Google Colaboratory,Cv2,我有一个简单的2d numpy数组,它是灰度图像的像素贴图。我正在尝试打印图像的某些部分。我的代码是 从google.colab导入驱动器 安装(“/content/drive”) 将numpy作为np导入 将matplotlib.pyplot作为plt导入 进口cv2 img=cv2.imread('/content/drive/My drive/Colab Notebooks/sample2.jpg')#源文件已正确装入 img_gray=cv2.CVT颜色(img,cv2.COLOR_BG

我有一个简单的2d numpy数组,它是灰度图像的像素贴图。我正在尝试打印图像的某些部分。我的代码是

从google.colab导入驱动器
安装(“/content/drive”)
将numpy作为np导入
将matplotlib.pyplot作为plt导入
进口cv2
img=cv2.imread('/content/drive/My drive/Colab Notebooks/sample2.jpg')#源文件已正确装入
img_gray=cv2.CVT颜色(img,cv2.COLOR_BGR2GRAY)

i=0
而i<(len(roi)-1:#roi是严格递增的正整数列表
打印(投资回报率[i],投资回报率[i+1])
plt.imshow(img_gray[roi[i]:roi[i+1]],cmap='gray')
i+=1

例如,如果
roi=[10,40,50,100]
,它应该打印图像的两部分。但当我运行上面的单元格时,它只打印一张图像,这是图像的最后一部分。是否可以不覆盖其他图像并全部打印?

您应该尝试在每次
plt.imshow(…)
之后调用
plt.show()

i=0
而i<(len(roi)-1:#roi是严格递增的正整数列表
打印(投资回报率[i],投资回报率[i+1])
plt.imshow(img_gray[roi[i]:roi[i+1]],cmap='gray')
plt.show()#