Merge branch 'main' of https://arnweb.nl/gitea/arne/EV5_Beeldherk_Bomen
This commit is contained in:
commit
1e844218ea
56
src/helpers/algorithms/canny_map.py
Normal file
56
src/helpers/algorithms/canny_map.py
Normal 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()
|
Loading…
Reference in New Issue
Block a user