This commit is contained in:
Tom Selier 2023-09-22 15:58:22 +02:00
commit 1e844218ea

View File

@ -0,0 +1,56 @@
import cv2
import timeit
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
# Read the original image
img = cv2.imread("./res/trees/berk_sq1_original.png")
# Convert to graycsale
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# resize image
resized = cv2.resize(img_gray, (720, 720), interpolation=cv2.INTER_AREA)
# Display original image
# cv2.imshow("Original", resized)
# Blur the image for better edge detection
# img_blur = cv2.GaussianBlur(resized, (3, 3), 0)
def thing():
canny_max = 1000
canny_step = 20
results = [[] for x in range((int)(canny_max / canny_step))]
for th1 in range(0, canny_max, canny_step):
for th2 in range(0, canny_max, canny_step):
# Canny Edge Detection
edges = cv2.Canny(image=resized, threshold1=th1, threshold2=th2)
w_res = cv2.countNonZero(edges)
y_ind = (int)(th1 / canny_step)
x_ind = (int)(th2 / canny_step)
print(f"Result at thres {th1}, {th2}; \tIndex {y_ind}, {x_ind} \t= {w_res}")
results[y_ind].append(w_res)
print(results[y_ind])
# Create a heatmap
sns.heatmap(results)
# Display the heatmap
plt.show()
print(timeit.timeit(lambda: thing(), number=1))
# # Display Canny Edge Detection Image
# cv2.imshow("Canny Edge Detection", edges)
# cv2.waitKey(0)
# cv2.destroyAllWindows()