Initial commit: Speckle-Scanner 3D pipeline with setup README
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
from typing import List, Tuple
|
||||
import cv2
|
||||
import numpy as np
|
||||
|
||||
|
||||
class Preprocessing:
|
||||
"""Preprocessing class.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
clipLimit: float
|
||||
default = 5.0
|
||||
tileGridSize: Tuple[int, int]
|
||||
default = (15, 15)
|
||||
thresh1: int
|
||||
default = 0
|
||||
thresh2: int
|
||||
default = 255
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
tileGridSize: Tuple[int, int] = (15, 15),
|
||||
clipLimit: float = 5.0,
|
||||
thresh1: int = 0,
|
||||
thresh2: int = 255,
|
||||
) -> None:
|
||||
self.tileGridSize = tileGridSize
|
||||
self.clipLimit = clipLimit
|
||||
self.thresh1 = thresh1
|
||||
self.thresh2 = thresh2
|
||||
|
||||
|
||||
def gray(self, image: np.ndarray) -> np.ndarray:
|
||||
"""Convert to GRAY for a given image.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
image : np.ndarray
|
||||
image of chessboard
|
||||
|
||||
Returns
|
||||
-------
|
||||
np.ndarray
|
||||
image of chessboard converted to GRAY
|
||||
"""
|
||||
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
|
||||
return gray
|
||||
|
||||
def clahe(self, image: np.ndarray) -> np.ndarray:
|
||||
"""Apply Clahe to GRAY Shimage.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
image : np.ndarray
|
||||
image of chessboard
|
||||
|
||||
Returns
|
||||
-------
|
||||
np.ndarray
|
||||
image of chessboard converted to GRAY and applied CLAHE
|
||||
"""
|
||||
clahe = cv2.createCLAHE(clipLimit = self.clipLimit, tileGridSize = self.tileGridSize)
|
||||
clahed = clahe.apply(self.gray(image))
|
||||
return clahed
|
||||
|
||||
def threshold(self, image: np.ndarray) -> np.ndarray:
|
||||
"""Apply Clahe to GRAY Shimage.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
image : np.ndarray
|
||||
image of chessboard
|
||||
|
||||
Returns
|
||||
-------
|
||||
np.ndarray
|
||||
image of chessboard converted to GRAY applied CLAHE and applied THRESHOLD
|
||||
"""
|
||||
criteria = cv2.THRESH_BINARY + cv2.THRESH_OTSU+1
|
||||
ret, threshold = cv2.threshold(self.clahe(image), self.thresh1, self.thresh2, criteria)
|
||||
return threshold
|
||||
Reference in New Issue
Block a user