Commit e1a30839 authored by Gijs van der Voort's avatar Gijs van der Voort

Crop classes afgemaakt en test toegevoegd

parent 8acbc023
from PIL import Image from PIL import Image
from Pylab import * from pylab import *
from LBP import domain_iterator
THRESHOLD = 0.5 class LetterCropper:
im = Image.open('../.jpg') THRESHOLD = 0.5
im = Image.convert('L', im)
outer_bounds = get_outer_bounds() def __init__(self, image_path):
self.set_image(image_path)
im.crop(outer_bounds)
imshow(im)
show()
def get_outer_bound():
min_x = len(im[0])
max_x = 0
min_y = len(im)
max_y = 0
for y in xrange(len(im)):
for x in xrange(len(im[0])):
if im[y, x] > THRESHOLD:
if x < min_x: min_x = x
if y < min_y: min_y = y
if x > max_x: max_x = x
if y > max_y: max_y = y
return (min_x, min_y, max_x, max_y)
def set_image(self, image_path):
self.source_image = imread(image_path)
def get_cropped_letter(self):
self.convert_image_to_grayscale()
self.determine_letter_bounds()
self.crop_image()
return self.cropped_letter
def convert_image_to_grayscale(self):
self.cropped_letter = self.source_image.sum(axis=2) / 3
def determine_letter_bounds(self):
image_width = len(self.cropped_letter[0])
image_height = len(self.cropped_letter)
min_x = image_width
max_x = 0
min_y = image_height
max_y = 0
for y in xrange(image_height):
for x in xrange(image_width):
if self.cropped_letter[y, x] < self.THRESHOLD:
if x < min_x: min_x = x
if y < min_y: min_y = y
if x > max_x: max_x = x
if y > max_y: max_y = y
self.letter_bounds = (min_x, min_y, max_x, max_y)
def crop_image(self):
self.cropped_letter = self.cropped_letter[self.letter_bounds[1] : self.letter_bounds[3],
self.letter_bounds[0] : self.letter_bounds[2]]
from pylab import *
from crop import LetterCropper
letter_cropper = LetterCropper("../images/test.png")
cropped_letter = letter_cropper.get_cropped_letter()
imshow(cropped_letter, cmap="gray")
show()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment