def fill_cornea(edge_image): k1 = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 10)) res1 = cv2.morphologyEx(edge_image, cv2.MORPH_DILATE, k1) print("DILATED") #Loader.print_image(res1) enhance_black = smooth.min_filter(res1, 7) print("BLACk") #Loader.print_image(enhance_black) k2 = cv2.getStructuringElement(cv2.MORPH_RECT, (10, 5)) res2 = cv2.morphologyEx(enhance_black, cv2.MORPH_ERODE, k2) print("eroded") #Loader.print_image(res2) res3 = smooth.max_filter(res2, 3) res3 = smooth.gaussian(res3, 1.5) print("dilated") #Loader.print_image(res3) return res3
def denoising_comparison(input_image, hist: bool = False): # NON LOCAL MEAN DENOISING nl_means_denoised_img = smooth.denoising_NlMeans(input_image) # MEDIAN FILTER DENOISING mean_denoised_img = smooth.median_filter(input_image, 9) mean_denoised_img = smooth.median_filter(input_image, 9) # GAUSSIAN DENOISING gaussian_denoised = smooth.gaussian(input_image, 1.5) # MINIMUM FILTER minimum_denoised = smooth.min_filter(input_image, (5, 5)) # MAXIMUM FILTER maximum_denoised = smooth.max_filter(input_image, (5, 5)) denoised_imgs = [ img, gaussian_denoised, mean_denoised_img, nl_means_denoised_img, minimum_denoised, maximum_denoised ] denoised_titles = [ "Original", "Denoised Gaussian", "Median Filtered", "NL Means Filter", "Minimums Filter", "Maximums Filter" ] Loader.hist_compare(denoised_imgs, denoised_titles, hist) return denoised_imgs, denoised_titles