Ich habe etwas Python-Code, der ein Bild eines A4-Buchstabens aufnimmt und dann um jedes Zeichen Begrenzungsrahmen zeichnet.Begrenzungsrahmen als Bild speichern
Ich möchte wissen, wie man jede Bounding Box als ein Bild speichert, also nimmt es im Wesentlichen jedes ermittelte Zeichen und speichert es. Bevorzugt als .png 20x20 Größe veränderte
(Eine ähnliche Frage wurde gefragt, here aber die Antwort ist recht vage und nicht wissen, wie es in meinem Code zu implementieren)
Hier ist mein Code:
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()
Wenn ich nicht klar genug bin, bitte Kommentar und ich werde versuchen, mein Bestes erarbeiten,
Danke
Hallo ich danke für Ihre Antwort, ich habe die beiden ersten Zeilen des Codes, die Sie in meiner for-Schleife vorgeschlagen, es speichert jetzt Bilder aber der Bereich, den es speichert, ist irgendwie falsch. Ich bekomme ein paar Briefe gespeichert, aber auch eine Menge partielle und nur Leerzeichen gespeichert. Ich denke, dass dein Code richtig ist, aber ich weiß nicht, wie man die genauen Grenzen in das Format konvertiert [minc: maxc, minr: maxr], irgendwelche Vorschläge? – Zack
sorry, natürlich seine Reihen, dann Spalten. Ich habe es im Beispiel behoben. Wenn Sie ein geeignetes Testbild zur Verfügung stellen können, kann ich es testen (sofern Ihr Code-Snippet vollständig ist). – user3736966