NormalizedCharacterImage.py 831 B

12345678910111213141516171819202122232425262728
  1. from copy import deepcopy
  2. from GrayscaleImage import GrayscaleImage
  3. from GaussianFilter import GaussianFilter
  4. class NormalizedCharacterImage(GrayscaleImage):
  5. def __init__(self, image=None, data=None, height=None, blur=1.1):
  6. if image != None:
  7. GrayscaleImage.__init__(self, data=deepcopy(image.data))
  8. elif data != None:
  9. GrayscaleImage.__init__(self, data=deepcopy(data))
  10. self.height = height
  11. self.resize()
  12. self.blur = blur
  13. self.gaussian_filter()
  14. def gaussian_filter(self):
  15. GaussianFilter(self.blur).filter(self)
  16. def resize(self):
  17. """Resize the image to a fixed height."""
  18. if self.height == None:
  19. return
  20. h, w = self.data.shape
  21. GrayscaleImage.resize(self, (self.height, self.height * w / h))