Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
90a06b9
Update sift-keypoint.py
dhaviesayo Jul 5, 2024
ed1879c
Rename sift-keypoint.py to sift_keypoint.py
dhaviesayo Jul 5, 2024
6fddacb
Update sift_keypoint.py
dhaviesayo Jul 5, 2024
e40eff5
Update sift_keypoint.py
dhaviesayo Jul 5, 2024
be7e15e
Update sift_keypoint.py
dhaviesayo Jul 5, 2024
b0ce611
Update sift_keypoint.py
dhaviesayo Jul 5, 2024
0357daf
Update sift_keypoint.py
dhaviesayo Jul 5, 2024
4568a8b
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
7b7e9ee
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
8b3d18c
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
0d24dd3
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
18cbb98
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
36f0b23
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
9f8e10c
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
eaecad8
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
c217910
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
597430e
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
dfeb2a4
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
7fa64f6
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
7f7394d
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
d4d4c14
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
d2de196
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
192c888
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
24f26f9
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
8e41b04
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
b645f57
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
69aed5c
Update sift_keypoint.py
dhaviesayo Jul 6, 2024
76c8a1f
Update sift_keypoint.py
dhaviesayo Jul 7, 2024
5562a29
Update sift_keypoint.py
dhaviesayo Jul 7, 2024
93e9a6d
Update sift_keypoint.py
dhaviesayo Jul 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 0 additions & 77 deletions src/sift-keypoint.py

This file was deleted.

54 changes: 54 additions & 0 deletions src/sift_keypoint.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import cv2
import numpy as np
import matplotlib.pyplot as plt
import torch
import torchvision.transforms as transforms



class sift_keypoint(torch.nn.modules.Module):
def __init__(self , train_img , query_img):
super(sift_keypoint , self).__init__()

def to_gray(color_img):
gray = cv2.cvtColor(color_img, cv2.COLOR_RGB2GRAY)
return gray

self.train= train_img.permute(1,2,0)
self.query= query_img.permute(1,2,0)
self.to_gray = to_gray


def forward(self , draw_n_matches):
# Initialise SIFT detector
sift = cv2.SIFT_create()

to_gray = self.to_gray
train_image = self.train
query_image = self.query

train_img_gray = to_gray(train_image.numpy())
query_img_gray = to_gray(query_image.numpy())


# Generate SIFT keypoints and descriptors
train_kp, train_desc = sift.detectAndCompute(train_img_gray, None)
query_kp, query_desc = sift.detectAndCompute(query_img_gray, None)

# create a BFMatcher object which will match up the SIFT features
bf = cv2.BFMatcher(cv2.NORM_L2, crossCheck=True)

matches = bf.match(train_desc, query_desc)

# Sort the matches in the order of their distance.
matches = sorted(matches, key = lambda x:x.distance)

# draw the top N matches
N_MATCHES = draw_n_matches

match_img = cv2.drawMatches(
train_image.numpy(), train_kp,
query_image.numpy(), query_kp,
matches[:N_MATCHES], query_image.numpy(), flags=0)

return match_img , matches , train_kp , train_desc , query_kp , query_desc