Отображение нескольких изображений в строке - PullRequest
0 голосов
/ 27 августа 2018

У меня проблема с отображением этих 4-х изображений, так как результат довольно запутанный из следующего кода:

import cv2
import matplotlib.pyplot as plt

def main():

    path = r"data/dogscats1/pupper"
    path1 = r"data/dogscats1/test1"
    path2 = r"data/dogscats1/peeps"
    path3 = r"data/dogscats1/pupper"

    imgpath1 =  path + "cat.jpg"
    imgpath2 =  path1 + "01.jpg"
    imgpath3 =  path2 + "001.jpg"
    imgpath4 =  path3 + "dog.jpg"

    img1 = cv2.imread(imgpath1, 1)
    img2 = cv2.imread(imgpath2, 1)
    img3 = cv2.imread(imgpath3, 1)
    img4 = cv2.imread(imgpath4, 1)





    titles = ['Kitty', 'Original','Jumble', 'Pupper']
    images = [img1, img2, img3, img4]

    for i in range(4):
        plt.subplot(4,4,i+1)
        plt.imshow(img[i])
        plt.title(titles[i])
        plt.xticks([])
        plt.yticks([])

    plt.show()  

if __name__ == "__main__":
    main()

enter image description here

Любая помощь с отображением изображений будет признательна, спасибо

1 Ответ

0 голосов
/ 27 августа 2018

Строка plt.imshow(img[i]) выполняет поиск по list с именем img, который еще не определен, в настоящее время изображения хранятся в списке с именем images, поэтому вам просто нужно изменить эту строку на;

plt.imshow(images[i])

и вместо этого он вернет то, что вам нужно!

...