Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
Binary file added backend/__pycache__/main.cpython-313.pyc
Binary file not shown.
Binary file added backend/__pycache__/test.cpython-313.pyc
Binary file not shown.
Binary file added backend/__pycache__/train.cpython-313.pyc
Binary file not shown.
10 changes: 10 additions & 0 deletions backend/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import test,train

train_folder_dir="C:/Users/Sanjay/OneDrive/Documents/pixel-peep/test_cases/train_images"
test_folder_dir="C:/Users/Sanjay/OneDrive/Documents/pixel-peep/test_cases/test_images"

des_list=train.train_images(folder_dir=train_folder_dir)
is_Match=test.test_images(folder_dir=test_folder_dir,des_from_train=des_list)

for matches in is_Match:
print(matches,sep="\n")
33 changes: 33 additions & 0 deletions backend/test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import train
import cv2
import glob
import os



def test_images(folder_dir,des_from_train):
match_list=[]
sift=cv2.SIFT_create()
bf=cv2.BFMatcher()
for test_img_path in glob.iglob(f"{folder_dir}/*"):
image=cv2.imread(test_img_path)
gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
kp=sift.detect(gray,None)
kp,des_test=sift.compute(gray,kp)

for train_img_path,des_train in des_from_train.items():
matches=bf.knnMatch(des_train,des_test,k=2)
good=[]
for m,n in matches:
if m.distance<0.75*n.distance:
good.append(m)

# print(good)
if(len(good)>=30):
match_list.append(f"{os.path.basename(train_img_path)} matches with {os.path.basename(test_img_path)}")
else:
match_list.append(f"{os.path.basename(train_img_path)} doesn't match with {os.path.basename(test_img_path)}")



return match_list
44 changes: 44 additions & 0 deletions backend/train.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import cv2
import glob



def train_images(folder_dir):
des_list={}
sift=cv2.SIFT_create()
for train_img_path in glob.iglob(f'{folder_dir}/*'):
image=cv2.imread(train_img_path)
gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

kp=sift.detect(gray,None)
kp,des_train=sift.compute(gray,kp)
des_list[train_img_path]=des_train

return des_list























#This is to show the image in a separate window.
# cv2.imshow("gray image",gray)
# cv2.waitKey(0)
# cv2.destroyAllWindows()
Binary file added test_cases/test_images/CR7 b&w.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added test_cases/test_images/CR7 cropped.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added test_cases/test_images/CR7 rotated.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added test_cases/test_images/cr7 2.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added test_cases/test_images/cr7 diff.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added test_cases/train_images/CR7.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added test_cases/train_images/ML1.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added test_cases/train_images/ML2.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.