diff --git a/src/helpers/algorithms/__pycache__/pysift.cpython-311.pyc b/src/helpers/algorithms/__pycache__/pysift.cpython-311.pyc new file mode 100644 index 0000000..17374af Binary files /dev/null and b/src/helpers/algorithms/__pycache__/pysift.cpython-311.pyc differ diff --git a/src/helpers/algorithms/image/test.jpg b/src/helpers/algorithms/image/test.jpg new file mode 100644 index 0000000..d5db229 Binary files /dev/null and b/src/helpers/algorithms/image/test.jpg differ diff --git a/src/helpers/algorithms/sift.py b/src/helpers/algorithms/sift.py index e964ec5..1243ca8 100644 --- a/src/helpers/algorithms/sift.py +++ b/src/helpers/algorithms/sift.py @@ -2,23 +2,30 @@ import numpy as np import matplotlib.pyplot as plt import cv2 import os +import math # references: # https://docs.opencv.org/4.x/da/df5/tutorial_py_sift_intro.html +def magnitude(vector): + return math.sqrt(sum(pow(element, 2) for element in vector)) + path = os.path.join(os.getcwd(), './res/trees/accasia_sq1_original.png') sift = cv2.SIFT.create(enable_precise_upscale=True) results = np.zeros(0) +mag = np.zeros(0) labels = [] for filename in os.listdir(os.path.join(os.getcwd(), "./res/trees/")): directory = os.path.join(os.getcwd(), "./res/trees/") path = os.path.join(directory, filename) img = cv2.imread(path ,1) - gray= cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) - kp = sift.detect(gray, None) + gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) + kp = sift.detect(gray, None) # deze bad + (kp, des)= sift.compute(gray, kp) + img = cv2.drawKeypoints( gray, kp, @@ -26,10 +33,10 @@ for filename in os.listdir(os.path.join(os.getcwd(), "./res/trees/")): flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS) results = np.append(results, len(kp)) labels.append(filename.split('_', 1)[0]) - cv2.imshow(filename,img) + break + # cv2.imshow(filename,img) plt.bar(labels, results) plt.show() - cv2.waitKey(0) cv2.destroyAllWindows()