Skip to content
Snippets Groups Projects
Commit c633cf62 authored by Marc Feger's avatar Marc Feger
Browse files

Merge branch 'master' of gitlab.cs.uni-duesseldorf.de:feger/image-editor

parents c50d0657 0de96a5e
No related branches found
No related tags found
No related merge requests found
from tokenize import String
from skimage import io
from pixel import *
class Editor(object):
def __init__(self, origin_path: String, edit_path: String):
"""
This class is the editor which edits a given image and stores a new one.
:param origin_path: The original image which should be edited.
:param edit_path: The edited image which should be stored.
"""
self.image_path = origin_path
self.edit_path = edit_path
def do_convolution_with(self, option: String) -> None:
"""
This method iterates over the image and changes each pixel by a given method.
Notice, that the image must be a RGB-image (MxNx3).
:param option: The options defined in FILTER.
:return: None
"""
image = io.imread(fname=self.image_path)
height, width, _ = image.shape # len(image), len(image[0, 0:, 0:]) wont work for .png-images.
edited_image = np.zeros((height, width, 3), dtype=np.float64)
edited_pixels = 0
for v in range(height):
for u in range(width):
pixel = Pixel(image, v, u)
edited_image[v, u] = pixel.filter_with(option)
edited_pixels += 1
if edited_pixels % 10000 == 0:
print('Finished with: ' + str(edited_pixels) + ' of ' + str(width * height))
io.imsave(arr=edited_image, fname=self.edit_path)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment