Skip to content
Snippets Groups Projects
Commit 30145222 authored by unknown's avatar unknown
Browse files

NormalizedCharacterImage classe aangemaakt, extend GrayscaleImage, blurd,

cropped, resized
parent a1848059
No related branches found
No related tags found
No related merge requests found
......@@ -6,10 +6,10 @@ from scipy.misc import imresize, imsave
class GrayscaleImage:
def __init__(self, image_path = None, data = None):
if image_path:
if image_path != None:
self.data = imread(image_path)
self.convert_to_grayscale()
elif data:
elif data != None:
self.data = data
def __iter__(self):
......@@ -40,7 +40,7 @@ class GrayscaleImage:
def show(self):
imshow(self.data, cmap="gray")
#show()
show()
def make_histogram(self):
return hist(self.data)
......
from copy import deepcopy
from Rectangle import Rectangle
from GrayscaleImage import GrayscaleImage
class LetterCropper:
def __init__(self, threshold = 0.9):
self.source_image = image
self.threshold = threshold
def get_cropped_letter(self):
def crop_to_letter(self, image):
self.image = image
self.determine_letter_bounds()
self.result_image = deepcopy(self.source_image)
self.result_image.crop(self.letter_bounds)
return self.result_image
self.image.crop(self.letter_bounds)
def determine_letter_bounds(self):
min_x = self.source_image.width
min_x = self.image.width
max_x = 0
min_y = self.source_image.height
min_y = self.image.height
max_y = 0
for y, x, value in self.source_image:
for y, x, value in self.image:
if value < self.threshold:
if x < min_x: min_x = x
if y < min_y: min_y = y
......
......@@ -12,7 +12,7 @@ class NormalizedCharacterImage(GrayscaleImage):
self.size = size
self.gausse_filter()
self.increase_contrast()
self.crop()
self.crop_to_letter()
self.resize()
def increase_contrast(self):
......@@ -23,9 +23,9 @@ class NormalizedCharacterImage(GrayscaleImage):
filter = GaussianFilter(1.1)
filter.filter(self)
def crop(self):
cropper = LetterCropper(self, 0.9)
self.data = cropper.get_cropped_letter().data
def crop_to_letter(self):
cropper = LetterCropper(0.9)
cropper.crop_to_letter(self)
def resize(self):
self.resize(self.size)
GrayscaleImage.resize(self, self.size)
\ No newline at end of file
from GrayscaleImage import GrayscaleImage
from NormalizedCharacterImage import NormalizedCharacterImage
# Comment added by Richard Torenvliet
# Steps in this test files are
# 1. crop image
# 2. resize to default hight (in future also to width)
# 3. plot
from LetterCropper import LetterCropper
image = GrayscaleImage("../images/test10.png")
normalized_character_image = NormalizedCharacterImage(image)
normalized_character_image.show()
normalized_character_image.show()
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment