Finish 2.2.1 exercise 1
This commit is contained in:
@@ -1,11 +1,10 @@
|
||||
import cv2
|
||||
import cv2, datetime, os
|
||||
import numpy as np
|
||||
from copy import deepcopy
|
||||
from matplotlib import pyplot as plt
|
||||
|
||||
from . import Algorithm
|
||||
|
||||
|
||||
class InvisCloak (Algorithm):
|
||||
|
||||
""" init function """
|
||||
@@ -20,6 +19,15 @@ class InvisCloak (Algorithm):
|
||||
# Includes noice reduction and histogram spread
|
||||
self.middle_value_picture = None
|
||||
|
||||
# Clean up results folder
|
||||
folder_path = os.path.join("results")
|
||||
|
||||
for filename in os.listdir(folder_path):
|
||||
file_path = os.path.join(folder_path, filename)
|
||||
|
||||
if os.path.isfile(file_path):
|
||||
os.unlink(file_path)
|
||||
|
||||
|
||||
""" Processes the input image"""
|
||||
def process(self, img):
|
||||
@@ -38,12 +46,12 @@ class InvisCloak (Algorithm):
|
||||
|
||||
""" 2.2 Farbanalyse """
|
||||
""" 2.2.1 RGB """
|
||||
self._221_RGB(img)
|
||||
#self._221_RGB(img)
|
||||
""" 2.2.2 HSV """
|
||||
self._222_HSV(img)
|
||||
#self._222_HSV(img)
|
||||
|
||||
|
||||
""" 2.3 Segmentierung und Bildmdifikation """
|
||||
""" 2.3 Segmentierung und Bildmodifikation """
|
||||
img = self._23_SegmentUndBildmodifizierung(img)
|
||||
|
||||
return img
|
||||
@@ -53,6 +61,14 @@ class InvisCloak (Algorithm):
|
||||
if event == cv2.EVENT_LBUTTONUP:
|
||||
print("A Mouse click happend! at position", x, y)
|
||||
|
||||
# Stores the current image to data folder
|
||||
cv2.imwrite(f"results/{datetime.datetime.now().strftime('%Y-%m-%d_%H:%M:%S')}_captured_image.png",
|
||||
self.picture_buffer[4])
|
||||
|
||||
# Create RGB histogram
|
||||
self._221_RGB(self.middle_value_picture)
|
||||
|
||||
|
||||
def _plotNoise(self, img, name:str):
|
||||
height, width = np.array(img.shape[:2])
|
||||
centY = (height / 2).astype(int)
|
||||
@@ -112,12 +128,21 @@ class InvisCloak (Algorithm):
|
||||
return self.middle_value_picture
|
||||
|
||||
|
||||
def _221_RGB(self, img):
|
||||
def _221_RGB(self, img, colorspectrum = "bgr"):
|
||||
"""
|
||||
Hier steht Ihr Code zu Aufgabe 2.2.1 (RGB)
|
||||
- Histogrammberechnung und Analyse
|
||||
"""
|
||||
pass
|
||||
# Names of the color spectrums
|
||||
channels = ["b", "g", "r"]
|
||||
|
||||
for index, channel_name in enumerate(channels):
|
||||
hist = cv2.calcHist([img], [index], None, [256], [0, 256])
|
||||
plt.plot(hist, color=channel_name)
|
||||
plt.xlim([0, 256])
|
||||
|
||||
plt.savefig(f"results/{datetime.datetime.now().strftime('%Y-%m-%d_%H:%M:%S')}_histogram_{colorspectrum}.png")
|
||||
plt.clf()
|
||||
|
||||
|
||||
def _222_HSV(self, img):
|
||||
|
||||
Reference in New Issue
Block a user