Сюжет в Python для цикла - PullRequest
       1

Сюжет в Python для цикла

0 голосов
/ 13 ноября 2018

Я получил обратно словарь из поиска SQL, затем я хочу перебрать словарь, чтобы обрезать изображение по x, y, h, w.Я хочу затем отобразить исходное изображение, отредактированное изображение.Это я достиг.Я не могу понять, как отобразить результаты на рисунке, используя matplotlib.pyplot.Вот мой код:

sql_result = get_rois(config, "145", "a")

img_dir = '../imgs/'

make palaeographical chart
fig = plt.figure()

#Iterate over the list
for num, result in enumerate(aleph_rois):
    #make path to image
    img_path = os.path.join(imgs, sql_result['file_name'])

    #declare variables for cropping character
    x = sql_result['x']
    y = sql_result['y']
    w = sql_result['w']
    h = sql_result['h']

    #crop to character
    img = cv2.imread(img_path, 0)
    crop = img[y:y+h, x:x+w]
    th0 = cv2.adaptiveThreshold(crop, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 21, 2)

    #OTSU Binarization to fill
    blur = cv2.GaussianBlur(crop,(5,5),0)
    ret, th1 = cv2.threshold(blur,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)

    frg_loc = str(sql_result['artefact_siglum']) + " " + str(result['line_id']) + " roi:" + str(sql_result['roi_id'])

    #create fig
    plt.title(frg_loc)
    plt.imshow(th1, cmap='Greys_r')

Выше явно не удается.Я пробовал несколько вариантов, и я думаю, что у меня проблема, когда изображения перезаписывают друг друга на рисунке.Но цель состоит в том, чтобы th0 и th1 были представлены в виде двух столбцов, а строки определялись количеством результатов в sql_results.Любая помощь очень ценится.Спасибо.

1 Ответ

0 голосов
/ 14 ноября 2018

Я не совсем уверен, правильно ли я понял - однако, как минимум, для начала обсуждения:

import matplotlib.pyplot as plt

N = 3
fig, axs = plt.subplots(N, 2)
for row in range(N):
    axs[row, 0].imshow(th0)
    axs[row, 1].imshow(th1, cmap = 'Reds_r')

результаты в

enter image description here

(содержание изображения является только примерным и не является частью кода этого SO ответа TM )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...