40 lines
No EOL
1,007 B
Python
40 lines
No EOL
1,007 B
Python
import cv2
|
|
import numpy as np
|
|
import os
|
|
|
|
#User parameters
|
|
output_folder="letters"
|
|
image = cv2.imread("Blockbuchstaben.jpeg")
|
|
number_rows=13
|
|
number_cols=8
|
|
margin=15 #Rand der weggeschnitten wird bei den einzelnen Buchstaben
|
|
|
|
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
|
|
|
|
height, width, channels = image.shape
|
|
print(height)
|
|
print(width)
|
|
|
|
letter_width=width//number_cols
|
|
letter_height=height//number_rows
|
|
|
|
print(letter_width)
|
|
print(letter_height)
|
|
|
|
if not os.path.exists(output_folder):
|
|
os.makedirs(output_folder)
|
|
|
|
for i in range(0,number_rows):
|
|
for j in range(0,number_cols):
|
|
x=j*letter_width
|
|
y=i*letter_height
|
|
|
|
letter_img=gray[y+margin:y+letter_height-margin,x+margin:x+letter_width-margin]
|
|
#if i==6 and j==8:
|
|
# cv2.imshow('letter_img', letter_img)
|
|
cv2.imwrite(output_folder+'/letter'+str(i)+str(j)+'.png', letter_img)
|
|
|
|
|
|
#cv2.imshow('BuchstabenRaster', gray)
|
|
cv2.waitKey(0)
|
|
cv2.destroyAllWindows() |