У меня есть код python, который принимает изображение буквы A4, а затем рисует ограничивающие прямоугольники вокруг каждого символа.Сохранить рамку как изображение
Я хочу знать, как сохранить каждый ограничивающий прямоугольник в качестве изображения, поэтому по существу он принимает каждого персонажа, который он обнаруживает и сохраняет. Предпочтительнее как .png с измененным размером до 20х20
(Аналогичный вопрос был задан вопрос here, но ответ весьма расплывчатым и не знаю, как реализовать это в моем коде)
Вот мой код:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
from scipy.misc import imread,imresize
from skimage.segmentation import clear_border
from skimage.morphology import label
from skimage.measure import regionprops
image = imread('./adobe.png',1)
#apply threshold in order to make the image binary
bw = image < 120
# remove artifacts connected to image border
cleared = bw.copy()
clear_border(cleared)
# label image regions
label_image = label(cleared,neighbors=8)
borders = np.logical_xor(bw, cleared)
label_image[borders] = -1
print label_image.max()
fig, ax = plt.subplots(ncols=1, nrows=1, figsize=(6, 6))
ax.imshow(bw, cmap='jet')
for region in regionprops(label_image, ['Area', 'BoundingBox']):
# skip small images
if region['Area'] > 50:
# draw rectangle around segmented coins
minr, minc, maxr, maxc = region['BoundingBox']
rect = mpatches.Rectangle((minc, minr), maxc - minc, maxr - minr,
fill=False, edgecolor='red', linewidth=2)
ax.add_patch(rect)
plt.show()
Если я не достаточно ясно, пожалуйста, комментарий и я постараюсь уточнить мое самое лучшее,
Спасибо
Привет, спасибо за ваш ответ. Я поставил две первые строки кода, которые вы предложили в моем цикле for, теперь он сохраняет изображения, однако область, которую она сохраняет, является неправильной. Я получаю несколько сохраненных букв, но также сохраняется много частичных и просто пробелов. Я думаю, что ваш код прав, но я не знаю, как получить точные границы, преобразованные в формат [minc: maxc, minr: maxr], любые предложения? – Zack
извините, конечно, его строки, а затем столбцы. Я зафиксировал его в примере. Если вы можете предоставить подходящее тестовое изображение, я смогу его протестировать (если ваш фрагмент кода завершен). – user3736966