.
This commit is contained in:
33
pyvidplayer2/post_processing.py
Normal file
33
pyvidplayer2/post_processing.py
Normal file
@@ -0,0 +1,33 @@
|
||||
import cv2
|
||||
import numpy
|
||||
|
||||
|
||||
class PostProcessing:
|
||||
def none(data: numpy.ndarray) -> numpy.ndarray:
|
||||
return data
|
||||
|
||||
def blur(data: numpy.ndarray) -> numpy.ndarray:
|
||||
return cv2.blur(data, (5, 5))
|
||||
|
||||
def sharpen(data: numpy.ndarray) -> numpy.ndarray:
|
||||
return cv2.filter2D(data, -1, numpy.array([[-1,-1,-1], [-1,9,-1], [-1,-1,-1]]))
|
||||
|
||||
def greyscale(data: numpy.ndarray) -> numpy.ndarray:
|
||||
return numpy.stack((cv2.cvtColor(data, cv2.COLOR_BGR2GRAY),) * 3, axis=-1)
|
||||
|
||||
def noise(data: numpy.ndarray) -> numpy.ndarray:
|
||||
noise = numpy.zeros(data.shape, dtype=numpy.uint8)
|
||||
cv2.randn(noise, (0,) * 3, (20,) * 3)
|
||||
return data + noise
|
||||
|
||||
def letterbox(data: numpy.ndarray) -> numpy.ndarray:
|
||||
background = numpy.zeros((*data.shape[:2], 3), dtype=numpy.uint8)
|
||||
|
||||
x1, y1 = 0, int(data.shape[0] * 0.1) #topleft crop
|
||||
x2, y2 = data.shape[1], int(data.shape[0] * 0.9) #bottomright crop
|
||||
data = data[y1:y2, x1:x2] # crops image
|
||||
background[y1:y1 + data.shape[0], x1:x1 + data.shape[1]] = data # draws image onto background
|
||||
return background
|
||||
|
||||
def cel_shading(data: numpy.ndarray) -> numpy.ndarray:
|
||||
return cv2.subtract(data, cv2.blur(cv2.merge((cv2.Canny(data, 150, 200),) * 3), (2, 2)))
|
||||
Reference in New Issue
Block a user