gradio_skimage / app.py
emilios's picture
Update app.py
3ba8af6 verified
import gradio
import numpy as np
#import matplotlib.pyplot as plt
#from skimage import morphology,measure,feature
#from skimage.measure import label
import skimage
from skimage import restoration
from skimage.filters import threshold_otsu, rank
from skimage.morphology import closing, square, disk
def inference(img):
gray = skimage.color.rgb2gray(img) # gray
#binarized = np.where(grayscale>0.1, 1, 0)
#processed = morphology.remove_small_objects(grayscale.astype(bool), min_size=33, connectivity=4).astype(int)
#out = morphology.remove_small_objects(out , min_size=2, connectivity=4)
#out = morphology.remove_small_holes(out , min_size=2, connectivity=4)
#out = processed
#edges = get_edges(img.copy())
#edges = feature.canny(out, sigma=3) # edge detect via canny with sigma 3
#out = morphology.remove_small_objects(label(edges), 2,) # noise_reduced
#out = morphology.remove_small_objects( out , 2,) # noise_reduced
# black out pixels
#mask_x, mask_y = np.where(processed == 0)
#img[mask_x, mask_y, :3] = 0
#mask_x, mask_y = np.where(processed == 0)
#im[mask_x, mask_y, :3] = 0
#denoise = restoration.denoise_tv_chambolle( out , weight=0.1)
#thresh = threshold_otsu(denoise)
#thresh = threshold_otsu(gray)
thresh = 0.4
#out = closing(denoise > thresh, square(2))
out =gray>thresh
return out
# For information on Interfaces, head to https://gradio.app/docs/
# For user guides, head to https://gradio.app/guides/
# For Spaces usage, head to https://huggingface.co/docs/hub/spaces
iface = gradio.Interface(
fn=inference,
inputs='image',
outputs='image',
title='Noise Removal w skimage',
description='Remove Noise with skimage.morphology!',
examples=["detail_with_lines_and_noise.jpg", "lama.webp", "dT4KW.png"])
#examples=["detail_with_lines_and_noise.jpg", "lama.webp", "test_lines.jpg","llama.jpg", "dT4KW.png"])
iface.launch()