
# https://www.globalsino.com/ICs/
# Canny filter

import numpy as np
import matplotlib.pyplot as plt
from scipy import ndimage as ndi
from skimage.util import random_noise
from skimage import feature
import cv2

img = r"C:\GlobalSino2\ICs\images\4861b.PNG"

image = cv2.imread(img, cv2.IMREAD_GRAYSCALE)

# Compute the Canny filter for two values of sigma
edges1 = feature.canny(image)
edges3 = feature.canny(image, sigma=3)

edges5 = feature.canny(image, sigma=5)
edges7 = feature.canny(image, sigma=7)


# display results
fig, ax = plt.subplots(nrows=2, ncols=2, figsize=(8, 3))

ax[0, 0].imshow(edges1, cmap='gray')
ax[0, 0].set_title(r'Canny filter, $\sigma=1$', fontsize=20)

ax[0, 1].imshow(edges3, cmap='gray')
ax[0, 1].set_title(r'Canny filter, $\sigma=3$', fontsize=20)

ax[1, 0].imshow(edges5, cmap='gray')
ax[1, 0].set_title(r'Canny filter, $\sigma=5$', fontsize=20)

ax[1, 1].imshow(edges7, cmap='gray')
ax[1, 1].set_title(r'Canny filter, $\sigma=7$', fontsize=20)

# for a in ax:
#  a.axis('off')

fig.tight_layout()
plt.show()


