diff --git a/assignment4/cam.py b/assignment4/cam.py index f2e0e48..90b8b71 100644 --- a/assignment4/cam.py +++ b/assignment4/cam.py @@ -5,7 +5,7 @@ import uz_framework.image as uz_image from matplotlib import pyplot as plt VIDEO_PATH = "./datam/raw_recording.webm" -MY_SIFT = True +MY_SIFT = False def start_realtime_keypoint_detection(): # Read video @@ -27,7 +27,7 @@ def start_realtime_keypoint_detection(): kps, _ = sift.detectAndCompute(frame, None) frame = cv2.drawKeypoints(frame, kps, None, flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS) #cv2.imshow('hello', frame) - cv2.imwrite("./datam/hessian/%d.jpg" % count, frame) + cv2.imwrite("./datam/true_sift/%d.jpg" % count, frame) print(f'{count} <- frame') count = count + 1 #if cv2.waitKey(10) & 0xFF == ord('q'): diff --git a/assignment4/datam/true_sift/0.jpg b/assignment4/datam/true_sift/0.jpg new file mode 100644 index 0000000..d21d612 Binary files /dev/null and b/assignment4/datam/true_sift/0.jpg differ diff --git a/assignment4/datam/true_sift/1.jpg b/assignment4/datam/true_sift/1.jpg new file mode 100644 index 0000000..daf99f4 Binary files /dev/null and b/assignment4/datam/true_sift/1.jpg differ diff --git a/assignment4/datam/true_sift/10.jpg b/assignment4/datam/true_sift/10.jpg new file mode 100644 index 0000000..0bbdb41 Binary files /dev/null and b/assignment4/datam/true_sift/10.jpg differ diff --git a/assignment4/datam/true_sift/100.jpg b/assignment4/datam/true_sift/100.jpg new file mode 100644 index 0000000..94bf0eb Binary files /dev/null and b/assignment4/datam/true_sift/100.jpg differ diff --git a/assignment4/datam/true_sift/101.jpg b/assignment4/datam/true_sift/101.jpg new file mode 100644 index 0000000..d3bf86d Binary files /dev/null and b/assignment4/datam/true_sift/101.jpg differ diff --git a/assignment4/datam/true_sift/102.jpg b/assignment4/datam/true_sift/102.jpg new file mode 100644 index 0000000..2361bf3 Binary files /dev/null and b/assignment4/datam/true_sift/102.jpg differ diff --git a/assignment4/datam/true_sift/103.jpg b/assignment4/datam/true_sift/103.jpg new file mode 100644 index 0000000..010c9b9 Binary files /dev/null and b/assignment4/datam/true_sift/103.jpg differ diff --git a/assignment4/datam/true_sift/104.jpg b/assignment4/datam/true_sift/104.jpg new file mode 100644 index 0000000..96f345c Binary files /dev/null and b/assignment4/datam/true_sift/104.jpg differ diff --git a/assignment4/datam/true_sift/105.jpg b/assignment4/datam/true_sift/105.jpg new file mode 100644 index 0000000..b03cc3f Binary files /dev/null and b/assignment4/datam/true_sift/105.jpg differ diff --git a/assignment4/datam/true_sift/106.jpg b/assignment4/datam/true_sift/106.jpg new file mode 100644 index 0000000..eacbcb0 Binary files /dev/null and b/assignment4/datam/true_sift/106.jpg differ diff --git a/assignment4/datam/true_sift/107.jpg b/assignment4/datam/true_sift/107.jpg new file mode 100644 index 0000000..86396d4 Binary files /dev/null and b/assignment4/datam/true_sift/107.jpg differ diff --git a/assignment4/datam/true_sift/108.jpg b/assignment4/datam/true_sift/108.jpg new file mode 100644 index 0000000..0d306bc Binary files /dev/null and b/assignment4/datam/true_sift/108.jpg differ diff --git a/assignment4/datam/true_sift/109.jpg b/assignment4/datam/true_sift/109.jpg new file mode 100644 index 0000000..f1e6721 Binary files /dev/null and b/assignment4/datam/true_sift/109.jpg differ diff --git a/assignment4/datam/true_sift/11.jpg b/assignment4/datam/true_sift/11.jpg new file mode 100644 index 0000000..3c0da0c Binary files /dev/null and b/assignment4/datam/true_sift/11.jpg differ diff --git a/assignment4/datam/true_sift/110.jpg b/assignment4/datam/true_sift/110.jpg new file mode 100644 index 0000000..51e828a Binary files /dev/null and b/assignment4/datam/true_sift/110.jpg differ diff --git a/assignment4/datam/true_sift/111.jpg b/assignment4/datam/true_sift/111.jpg new file mode 100644 index 0000000..03161de Binary files /dev/null and b/assignment4/datam/true_sift/111.jpg differ diff --git a/assignment4/datam/true_sift/112.jpg b/assignment4/datam/true_sift/112.jpg new file mode 100644 index 0000000..4275b82 Binary files /dev/null and b/assignment4/datam/true_sift/112.jpg differ diff --git a/assignment4/datam/true_sift/113.jpg b/assignment4/datam/true_sift/113.jpg new file mode 100644 index 0000000..b644e86 Binary files /dev/null and b/assignment4/datam/true_sift/113.jpg differ diff --git a/assignment4/datam/true_sift/114.jpg b/assignment4/datam/true_sift/114.jpg new file mode 100644 index 0000000..92a4f4e Binary files /dev/null and b/assignment4/datam/true_sift/114.jpg differ diff --git a/assignment4/datam/true_sift/115.jpg b/assignment4/datam/true_sift/115.jpg new file mode 100644 index 0000000..d4236aa Binary files /dev/null and b/assignment4/datam/true_sift/115.jpg differ diff --git a/assignment4/datam/true_sift/116.jpg b/assignment4/datam/true_sift/116.jpg new file mode 100644 index 0000000..edf38bf Binary files /dev/null and b/assignment4/datam/true_sift/116.jpg differ diff --git a/assignment4/datam/true_sift/117.jpg b/assignment4/datam/true_sift/117.jpg new file mode 100644 index 0000000..754ccc4 Binary files /dev/null and b/assignment4/datam/true_sift/117.jpg differ diff --git a/assignment4/datam/true_sift/118.jpg b/assignment4/datam/true_sift/118.jpg new file mode 100644 index 0000000..3ef87aa Binary files /dev/null and b/assignment4/datam/true_sift/118.jpg differ diff --git a/assignment4/datam/true_sift/119.jpg b/assignment4/datam/true_sift/119.jpg new file mode 100644 index 0000000..7886fdc Binary files /dev/null and b/assignment4/datam/true_sift/119.jpg differ diff --git a/assignment4/datam/true_sift/12.jpg b/assignment4/datam/true_sift/12.jpg new file mode 100644 index 0000000..d442faf Binary files /dev/null and b/assignment4/datam/true_sift/12.jpg differ diff --git a/assignment4/datam/true_sift/120.jpg b/assignment4/datam/true_sift/120.jpg new file mode 100644 index 0000000..6d3e1d3 Binary files /dev/null and b/assignment4/datam/true_sift/120.jpg differ diff --git a/assignment4/datam/true_sift/121.jpg b/assignment4/datam/true_sift/121.jpg new file mode 100644 index 0000000..d40e882 Binary files /dev/null and b/assignment4/datam/true_sift/121.jpg differ diff --git a/assignment4/datam/true_sift/122.jpg b/assignment4/datam/true_sift/122.jpg new file mode 100644 index 0000000..6c850be Binary files /dev/null and b/assignment4/datam/true_sift/122.jpg differ diff --git a/assignment4/datam/true_sift/123.jpg b/assignment4/datam/true_sift/123.jpg new file mode 100644 index 0000000..b9276ec Binary files /dev/null and b/assignment4/datam/true_sift/123.jpg differ diff --git a/assignment4/datam/true_sift/124.jpg b/assignment4/datam/true_sift/124.jpg new file mode 100644 index 0000000..c75e702 Binary files /dev/null and b/assignment4/datam/true_sift/124.jpg differ diff --git a/assignment4/datam/true_sift/125.jpg b/assignment4/datam/true_sift/125.jpg new file mode 100644 index 0000000..202c852 Binary files /dev/null and b/assignment4/datam/true_sift/125.jpg differ diff --git a/assignment4/datam/true_sift/126.jpg b/assignment4/datam/true_sift/126.jpg new file mode 100644 index 0000000..1a6cce3 Binary files /dev/null and b/assignment4/datam/true_sift/126.jpg differ diff --git a/assignment4/datam/true_sift/127.jpg b/assignment4/datam/true_sift/127.jpg new file mode 100644 index 0000000..ba9c1d5 Binary files /dev/null and b/assignment4/datam/true_sift/127.jpg differ diff --git a/assignment4/datam/true_sift/128.jpg b/assignment4/datam/true_sift/128.jpg new file mode 100644 index 0000000..27046db Binary files /dev/null and b/assignment4/datam/true_sift/128.jpg differ diff --git a/assignment4/datam/true_sift/129.jpg b/assignment4/datam/true_sift/129.jpg new file mode 100644 index 0000000..d9c260b Binary files /dev/null and b/assignment4/datam/true_sift/129.jpg differ diff --git a/assignment4/datam/true_sift/13.jpg b/assignment4/datam/true_sift/13.jpg new file mode 100644 index 0000000..948ce80 Binary files /dev/null and b/assignment4/datam/true_sift/13.jpg differ diff --git a/assignment4/datam/true_sift/130.jpg b/assignment4/datam/true_sift/130.jpg new file mode 100644 index 0000000..0122cf3 Binary files /dev/null and b/assignment4/datam/true_sift/130.jpg differ diff --git a/assignment4/datam/true_sift/131.jpg b/assignment4/datam/true_sift/131.jpg new file mode 100644 index 0000000..63358f9 Binary files /dev/null and b/assignment4/datam/true_sift/131.jpg differ diff --git a/assignment4/datam/true_sift/132.jpg b/assignment4/datam/true_sift/132.jpg new file mode 100644 index 0000000..f1cfd4f Binary files /dev/null and b/assignment4/datam/true_sift/132.jpg differ diff --git a/assignment4/datam/true_sift/133.jpg b/assignment4/datam/true_sift/133.jpg new file mode 100644 index 0000000..fe99b39 Binary files /dev/null and b/assignment4/datam/true_sift/133.jpg differ diff --git a/assignment4/datam/true_sift/134.jpg b/assignment4/datam/true_sift/134.jpg new file mode 100644 index 0000000..0f86114 Binary files /dev/null and b/assignment4/datam/true_sift/134.jpg differ diff --git a/assignment4/datam/true_sift/135.jpg b/assignment4/datam/true_sift/135.jpg new file mode 100644 index 0000000..cb409ee Binary files /dev/null and b/assignment4/datam/true_sift/135.jpg differ diff --git a/assignment4/datam/true_sift/136.jpg b/assignment4/datam/true_sift/136.jpg new file mode 100644 index 0000000..7eaf804 Binary files /dev/null and b/assignment4/datam/true_sift/136.jpg differ diff --git a/assignment4/datam/true_sift/137.jpg b/assignment4/datam/true_sift/137.jpg new file mode 100644 index 0000000..649e939 Binary files /dev/null and b/assignment4/datam/true_sift/137.jpg differ diff --git a/assignment4/datam/true_sift/138.jpg b/assignment4/datam/true_sift/138.jpg new file mode 100644 index 0000000..6017e74 Binary files /dev/null and b/assignment4/datam/true_sift/138.jpg differ diff --git a/assignment4/datam/true_sift/139.jpg b/assignment4/datam/true_sift/139.jpg new file mode 100644 index 0000000..aa872d5 Binary files /dev/null and b/assignment4/datam/true_sift/139.jpg differ diff --git a/assignment4/datam/true_sift/14.jpg b/assignment4/datam/true_sift/14.jpg new file mode 100644 index 0000000..24a3d48 Binary files /dev/null and b/assignment4/datam/true_sift/14.jpg differ diff --git a/assignment4/datam/true_sift/140.jpg b/assignment4/datam/true_sift/140.jpg new file mode 100644 index 0000000..5b971e2 Binary files /dev/null and b/assignment4/datam/true_sift/140.jpg differ diff --git a/assignment4/datam/true_sift/141.jpg b/assignment4/datam/true_sift/141.jpg new file mode 100644 index 0000000..028eb5f Binary files /dev/null and b/assignment4/datam/true_sift/141.jpg differ diff --git a/assignment4/datam/true_sift/142.jpg b/assignment4/datam/true_sift/142.jpg new file mode 100644 index 0000000..50acc40 Binary files /dev/null and b/assignment4/datam/true_sift/142.jpg differ diff --git a/assignment4/datam/true_sift/143.jpg b/assignment4/datam/true_sift/143.jpg new file mode 100644 index 0000000..96dcbd1 Binary files /dev/null and b/assignment4/datam/true_sift/143.jpg differ diff --git a/assignment4/datam/true_sift/144.jpg b/assignment4/datam/true_sift/144.jpg new file mode 100644 index 0000000..1a2b1d0 Binary files /dev/null and b/assignment4/datam/true_sift/144.jpg differ diff --git a/assignment4/datam/true_sift/145.jpg b/assignment4/datam/true_sift/145.jpg new file mode 100644 index 0000000..0d25492 Binary files /dev/null and b/assignment4/datam/true_sift/145.jpg differ diff --git a/assignment4/datam/true_sift/146.jpg b/assignment4/datam/true_sift/146.jpg new file mode 100644 index 0000000..ed18f00 Binary files /dev/null and b/assignment4/datam/true_sift/146.jpg differ diff --git a/assignment4/datam/true_sift/147.jpg b/assignment4/datam/true_sift/147.jpg new file mode 100644 index 0000000..28753c0 Binary files /dev/null and b/assignment4/datam/true_sift/147.jpg differ diff --git a/assignment4/datam/true_sift/148.jpg b/assignment4/datam/true_sift/148.jpg new file mode 100644 index 0000000..69ed0b0 Binary files /dev/null and b/assignment4/datam/true_sift/148.jpg differ diff --git a/assignment4/datam/true_sift/149.jpg b/assignment4/datam/true_sift/149.jpg new file mode 100644 index 0000000..2eaed8d Binary files /dev/null and b/assignment4/datam/true_sift/149.jpg differ diff --git a/assignment4/datam/true_sift/15.jpg b/assignment4/datam/true_sift/15.jpg new file mode 100644 index 0000000..2eeefec Binary files /dev/null and b/assignment4/datam/true_sift/15.jpg differ diff --git a/assignment4/datam/true_sift/150.jpg b/assignment4/datam/true_sift/150.jpg new file mode 100644 index 0000000..e577972 Binary files /dev/null and b/assignment4/datam/true_sift/150.jpg differ diff --git a/assignment4/datam/true_sift/151.jpg b/assignment4/datam/true_sift/151.jpg new file mode 100644 index 0000000..1e5fd0c Binary files /dev/null and b/assignment4/datam/true_sift/151.jpg differ diff --git a/assignment4/datam/true_sift/152.jpg b/assignment4/datam/true_sift/152.jpg new file mode 100644 index 0000000..fce1b1b Binary files /dev/null and b/assignment4/datam/true_sift/152.jpg differ diff --git a/assignment4/datam/true_sift/153.jpg b/assignment4/datam/true_sift/153.jpg new file mode 100644 index 0000000..da96682 Binary files /dev/null and b/assignment4/datam/true_sift/153.jpg differ diff --git a/assignment4/datam/true_sift/154.jpg b/assignment4/datam/true_sift/154.jpg new file mode 100644 index 0000000..fac8045 Binary files /dev/null and b/assignment4/datam/true_sift/154.jpg differ diff --git a/assignment4/datam/true_sift/155.jpg b/assignment4/datam/true_sift/155.jpg new file mode 100644 index 0000000..f53648c Binary files /dev/null and b/assignment4/datam/true_sift/155.jpg differ diff --git a/assignment4/datam/true_sift/156.jpg b/assignment4/datam/true_sift/156.jpg new file mode 100644 index 0000000..f9f0d70 Binary files /dev/null and b/assignment4/datam/true_sift/156.jpg differ diff --git a/assignment4/datam/true_sift/157.jpg b/assignment4/datam/true_sift/157.jpg new file mode 100644 index 0000000..7690d3b Binary files /dev/null and b/assignment4/datam/true_sift/157.jpg differ diff --git a/assignment4/datam/true_sift/158.jpg b/assignment4/datam/true_sift/158.jpg new file mode 100644 index 0000000..c2f6442 Binary files /dev/null and b/assignment4/datam/true_sift/158.jpg differ diff --git a/assignment4/datam/true_sift/159.jpg b/assignment4/datam/true_sift/159.jpg new file mode 100644 index 0000000..f961e0c Binary files /dev/null and b/assignment4/datam/true_sift/159.jpg differ diff --git a/assignment4/datam/true_sift/16.jpg b/assignment4/datam/true_sift/16.jpg new file mode 100644 index 0000000..caa1758 Binary files /dev/null and b/assignment4/datam/true_sift/16.jpg differ diff --git a/assignment4/datam/true_sift/160.jpg b/assignment4/datam/true_sift/160.jpg new file mode 100644 index 0000000..9455267 Binary files /dev/null and b/assignment4/datam/true_sift/160.jpg differ diff --git a/assignment4/datam/true_sift/161.jpg b/assignment4/datam/true_sift/161.jpg new file mode 100644 index 0000000..18e82ed Binary files /dev/null and b/assignment4/datam/true_sift/161.jpg differ diff --git a/assignment4/datam/true_sift/162.jpg b/assignment4/datam/true_sift/162.jpg new file mode 100644 index 0000000..75bfc3d Binary files /dev/null and b/assignment4/datam/true_sift/162.jpg differ diff --git a/assignment4/datam/true_sift/163.jpg b/assignment4/datam/true_sift/163.jpg new file mode 100644 index 0000000..ee0cfdf Binary files /dev/null and b/assignment4/datam/true_sift/163.jpg differ diff --git a/assignment4/datam/true_sift/164.jpg b/assignment4/datam/true_sift/164.jpg new file mode 100644 index 0000000..cde4367 Binary files /dev/null and b/assignment4/datam/true_sift/164.jpg differ diff --git a/assignment4/datam/true_sift/165.jpg b/assignment4/datam/true_sift/165.jpg new file mode 100644 index 0000000..8a55836 Binary files /dev/null and b/assignment4/datam/true_sift/165.jpg differ diff --git a/assignment4/datam/true_sift/166.jpg b/assignment4/datam/true_sift/166.jpg new file mode 100644 index 0000000..378378a Binary files /dev/null and b/assignment4/datam/true_sift/166.jpg differ diff --git a/assignment4/datam/true_sift/167.jpg b/assignment4/datam/true_sift/167.jpg new file mode 100644 index 0000000..2b3f5ea Binary files /dev/null and b/assignment4/datam/true_sift/167.jpg differ diff --git a/assignment4/datam/true_sift/168.jpg b/assignment4/datam/true_sift/168.jpg new file mode 100644 index 0000000..1fd89a8 Binary files /dev/null and b/assignment4/datam/true_sift/168.jpg differ diff --git a/assignment4/datam/true_sift/169.jpg b/assignment4/datam/true_sift/169.jpg new file mode 100644 index 0000000..550d6da Binary files /dev/null and b/assignment4/datam/true_sift/169.jpg differ diff --git a/assignment4/datam/true_sift/17.jpg b/assignment4/datam/true_sift/17.jpg new file mode 100644 index 0000000..0ba5917 Binary files /dev/null and b/assignment4/datam/true_sift/17.jpg differ diff --git a/assignment4/datam/true_sift/170.jpg b/assignment4/datam/true_sift/170.jpg new file mode 100644 index 0000000..f5f0d73 Binary files /dev/null and b/assignment4/datam/true_sift/170.jpg differ diff --git a/assignment4/datam/true_sift/171.jpg b/assignment4/datam/true_sift/171.jpg new file mode 100644 index 0000000..f193635 Binary files /dev/null and b/assignment4/datam/true_sift/171.jpg differ diff --git a/assignment4/datam/true_sift/172.jpg b/assignment4/datam/true_sift/172.jpg new file mode 100644 index 0000000..1a55acf Binary files /dev/null and b/assignment4/datam/true_sift/172.jpg differ diff --git a/assignment4/datam/true_sift/173.jpg b/assignment4/datam/true_sift/173.jpg new file mode 100644 index 0000000..9699da7 Binary files /dev/null and b/assignment4/datam/true_sift/173.jpg differ diff --git a/assignment4/datam/true_sift/174.jpg b/assignment4/datam/true_sift/174.jpg new file mode 100644 index 0000000..7927b26 Binary files /dev/null and b/assignment4/datam/true_sift/174.jpg differ diff --git a/assignment4/datam/true_sift/175.jpg b/assignment4/datam/true_sift/175.jpg new file mode 100644 index 0000000..8143d0a Binary files /dev/null and b/assignment4/datam/true_sift/175.jpg differ diff --git a/assignment4/datam/true_sift/176.jpg b/assignment4/datam/true_sift/176.jpg new file mode 100644 index 0000000..a1391b5 Binary files /dev/null and b/assignment4/datam/true_sift/176.jpg differ diff --git a/assignment4/datam/true_sift/177.jpg b/assignment4/datam/true_sift/177.jpg new file mode 100644 index 0000000..90ba0e6 Binary files /dev/null and b/assignment4/datam/true_sift/177.jpg differ diff --git a/assignment4/datam/true_sift/178.jpg b/assignment4/datam/true_sift/178.jpg new file mode 100644 index 0000000..08b8f40 Binary files /dev/null and b/assignment4/datam/true_sift/178.jpg differ diff --git a/assignment4/datam/true_sift/179.jpg b/assignment4/datam/true_sift/179.jpg new file mode 100644 index 0000000..3ee0304 Binary files /dev/null and b/assignment4/datam/true_sift/179.jpg differ diff --git a/assignment4/datam/true_sift/18.jpg b/assignment4/datam/true_sift/18.jpg new file mode 100644 index 0000000..9a27f07 Binary files /dev/null and b/assignment4/datam/true_sift/18.jpg differ diff --git a/assignment4/datam/true_sift/180.jpg b/assignment4/datam/true_sift/180.jpg new file mode 100644 index 0000000..eec9b5d Binary files /dev/null and b/assignment4/datam/true_sift/180.jpg differ diff --git a/assignment4/datam/true_sift/181.jpg b/assignment4/datam/true_sift/181.jpg new file mode 100644 index 0000000..937dcec Binary files /dev/null and b/assignment4/datam/true_sift/181.jpg differ diff --git a/assignment4/datam/true_sift/182.jpg b/assignment4/datam/true_sift/182.jpg new file mode 100644 index 0000000..d52c61d Binary files /dev/null and b/assignment4/datam/true_sift/182.jpg differ diff --git a/assignment4/datam/true_sift/183.jpg b/assignment4/datam/true_sift/183.jpg new file mode 100644 index 0000000..781f296 Binary files /dev/null and b/assignment4/datam/true_sift/183.jpg differ diff --git a/assignment4/datam/true_sift/184.jpg b/assignment4/datam/true_sift/184.jpg new file mode 100644 index 0000000..930f0f2 Binary files /dev/null and b/assignment4/datam/true_sift/184.jpg differ diff --git a/assignment4/datam/true_sift/185.jpg b/assignment4/datam/true_sift/185.jpg new file mode 100644 index 0000000..cb64c67 Binary files /dev/null and b/assignment4/datam/true_sift/185.jpg differ diff --git a/assignment4/datam/true_sift/186.jpg b/assignment4/datam/true_sift/186.jpg new file mode 100644 index 0000000..94d922c Binary files /dev/null and b/assignment4/datam/true_sift/186.jpg differ diff --git a/assignment4/datam/true_sift/187.jpg b/assignment4/datam/true_sift/187.jpg new file mode 100644 index 0000000..5fc22c8 Binary files /dev/null and b/assignment4/datam/true_sift/187.jpg differ diff --git a/assignment4/datam/true_sift/188.jpg b/assignment4/datam/true_sift/188.jpg new file mode 100644 index 0000000..780fc5b Binary files /dev/null and b/assignment4/datam/true_sift/188.jpg differ diff --git a/assignment4/datam/true_sift/189.jpg b/assignment4/datam/true_sift/189.jpg new file mode 100644 index 0000000..aff6b1c Binary files /dev/null and b/assignment4/datam/true_sift/189.jpg differ diff --git a/assignment4/datam/true_sift/19.jpg b/assignment4/datam/true_sift/19.jpg new file mode 100644 index 0000000..b9169a1 Binary files /dev/null and b/assignment4/datam/true_sift/19.jpg differ diff --git a/assignment4/datam/true_sift/190.jpg b/assignment4/datam/true_sift/190.jpg new file mode 100644 index 0000000..466a46f Binary files /dev/null and b/assignment4/datam/true_sift/190.jpg differ diff --git a/assignment4/datam/true_sift/191.jpg b/assignment4/datam/true_sift/191.jpg new file mode 100644 index 0000000..2e18a77 Binary files /dev/null and b/assignment4/datam/true_sift/191.jpg differ diff --git a/assignment4/datam/true_sift/192.jpg b/assignment4/datam/true_sift/192.jpg new file mode 100644 index 0000000..355787b Binary files /dev/null and b/assignment4/datam/true_sift/192.jpg differ diff --git a/assignment4/datam/true_sift/193.jpg b/assignment4/datam/true_sift/193.jpg new file mode 100644 index 0000000..bd69ec8 Binary files /dev/null and b/assignment4/datam/true_sift/193.jpg differ diff --git a/assignment4/datam/true_sift/194.jpg b/assignment4/datam/true_sift/194.jpg new file mode 100644 index 0000000..0db5247 Binary files /dev/null and b/assignment4/datam/true_sift/194.jpg differ diff --git a/assignment4/datam/true_sift/195.jpg b/assignment4/datam/true_sift/195.jpg new file mode 100644 index 0000000..aabad65 Binary files /dev/null and b/assignment4/datam/true_sift/195.jpg differ diff --git a/assignment4/datam/true_sift/196.jpg b/assignment4/datam/true_sift/196.jpg new file mode 100644 index 0000000..08798be Binary files /dev/null and b/assignment4/datam/true_sift/196.jpg differ diff --git a/assignment4/datam/true_sift/197.jpg b/assignment4/datam/true_sift/197.jpg new file mode 100644 index 0000000..bd9dd99 Binary files /dev/null and b/assignment4/datam/true_sift/197.jpg differ diff --git a/assignment4/datam/true_sift/198.jpg b/assignment4/datam/true_sift/198.jpg new file mode 100644 index 0000000..1fd78d0 Binary files /dev/null and b/assignment4/datam/true_sift/198.jpg differ diff --git a/assignment4/datam/true_sift/199.jpg b/assignment4/datam/true_sift/199.jpg new file mode 100644 index 0000000..a31d5c2 Binary files /dev/null and b/assignment4/datam/true_sift/199.jpg differ diff --git a/assignment4/datam/true_sift/2.jpg b/assignment4/datam/true_sift/2.jpg new file mode 100644 index 0000000..2fe8435 Binary files /dev/null and b/assignment4/datam/true_sift/2.jpg differ diff --git a/assignment4/datam/true_sift/20.jpg b/assignment4/datam/true_sift/20.jpg new file mode 100644 index 0000000..aa0370c Binary files /dev/null and b/assignment4/datam/true_sift/20.jpg differ diff --git a/assignment4/datam/true_sift/200.jpg b/assignment4/datam/true_sift/200.jpg new file mode 100644 index 0000000..7bfa4b6 Binary files /dev/null and b/assignment4/datam/true_sift/200.jpg differ diff --git a/assignment4/datam/true_sift/201.jpg b/assignment4/datam/true_sift/201.jpg new file mode 100644 index 0000000..da11f56 Binary files /dev/null and b/assignment4/datam/true_sift/201.jpg differ diff --git a/assignment4/datam/true_sift/202.jpg b/assignment4/datam/true_sift/202.jpg new file mode 100644 index 0000000..c6be932 Binary files /dev/null and b/assignment4/datam/true_sift/202.jpg differ diff --git a/assignment4/datam/true_sift/203.jpg b/assignment4/datam/true_sift/203.jpg new file mode 100644 index 0000000..5c22cb8 Binary files /dev/null and b/assignment4/datam/true_sift/203.jpg differ diff --git a/assignment4/datam/true_sift/204.jpg b/assignment4/datam/true_sift/204.jpg new file mode 100644 index 0000000..25ae041 Binary files /dev/null and b/assignment4/datam/true_sift/204.jpg differ diff --git a/assignment4/datam/true_sift/205.jpg b/assignment4/datam/true_sift/205.jpg new file mode 100644 index 0000000..1bc679a Binary files /dev/null and b/assignment4/datam/true_sift/205.jpg differ diff --git a/assignment4/datam/true_sift/206.jpg b/assignment4/datam/true_sift/206.jpg new file mode 100644 index 0000000..80526dc Binary files /dev/null and b/assignment4/datam/true_sift/206.jpg differ diff --git a/assignment4/datam/true_sift/207.jpg b/assignment4/datam/true_sift/207.jpg new file mode 100644 index 0000000..d3d26be Binary files /dev/null and b/assignment4/datam/true_sift/207.jpg differ diff --git a/assignment4/datam/true_sift/208.jpg b/assignment4/datam/true_sift/208.jpg new file mode 100644 index 0000000..449b5d2 Binary files /dev/null and b/assignment4/datam/true_sift/208.jpg differ diff --git a/assignment4/datam/true_sift/209.jpg b/assignment4/datam/true_sift/209.jpg new file mode 100644 index 0000000..7ba3f7c Binary files /dev/null and b/assignment4/datam/true_sift/209.jpg differ diff --git a/assignment4/datam/true_sift/21.jpg b/assignment4/datam/true_sift/21.jpg new file mode 100644 index 0000000..8d6620a Binary files /dev/null and b/assignment4/datam/true_sift/21.jpg differ diff --git a/assignment4/datam/true_sift/210.jpg b/assignment4/datam/true_sift/210.jpg new file mode 100644 index 0000000..58915c2 Binary files /dev/null and b/assignment4/datam/true_sift/210.jpg differ diff --git a/assignment4/datam/true_sift/211.jpg b/assignment4/datam/true_sift/211.jpg new file mode 100644 index 0000000..41afc34 Binary files /dev/null and b/assignment4/datam/true_sift/211.jpg differ diff --git a/assignment4/datam/true_sift/212.jpg b/assignment4/datam/true_sift/212.jpg new file mode 100644 index 0000000..0092455 Binary files /dev/null and b/assignment4/datam/true_sift/212.jpg differ diff --git a/assignment4/datam/true_sift/213.jpg b/assignment4/datam/true_sift/213.jpg new file mode 100644 index 0000000..5d090a6 Binary files /dev/null and b/assignment4/datam/true_sift/213.jpg differ diff --git a/assignment4/datam/true_sift/214.jpg b/assignment4/datam/true_sift/214.jpg new file mode 100644 index 0000000..731cc62 Binary files /dev/null and b/assignment4/datam/true_sift/214.jpg differ diff --git a/assignment4/datam/true_sift/215.jpg b/assignment4/datam/true_sift/215.jpg new file mode 100644 index 0000000..485e5d3 Binary files /dev/null and b/assignment4/datam/true_sift/215.jpg differ diff --git a/assignment4/datam/true_sift/216.jpg b/assignment4/datam/true_sift/216.jpg new file mode 100644 index 0000000..374403c Binary files /dev/null and b/assignment4/datam/true_sift/216.jpg differ diff --git a/assignment4/datam/true_sift/217.jpg b/assignment4/datam/true_sift/217.jpg new file mode 100644 index 0000000..2af937c Binary files /dev/null and b/assignment4/datam/true_sift/217.jpg differ diff --git a/assignment4/datam/true_sift/218.jpg b/assignment4/datam/true_sift/218.jpg new file mode 100644 index 0000000..454b48e Binary files /dev/null and b/assignment4/datam/true_sift/218.jpg differ diff --git a/assignment4/datam/true_sift/219.jpg b/assignment4/datam/true_sift/219.jpg new file mode 100644 index 0000000..95a8d9c Binary files /dev/null and b/assignment4/datam/true_sift/219.jpg differ diff --git a/assignment4/datam/true_sift/22.jpg b/assignment4/datam/true_sift/22.jpg new file mode 100644 index 0000000..54e9ceb Binary files /dev/null and b/assignment4/datam/true_sift/22.jpg differ diff --git a/assignment4/datam/true_sift/220.jpg b/assignment4/datam/true_sift/220.jpg new file mode 100644 index 0000000..b78a2e2 Binary files /dev/null and b/assignment4/datam/true_sift/220.jpg differ diff --git a/assignment4/datam/true_sift/221.jpg b/assignment4/datam/true_sift/221.jpg new file mode 100644 index 0000000..e308a73 Binary files /dev/null and b/assignment4/datam/true_sift/221.jpg differ diff --git a/assignment4/datam/true_sift/222.jpg b/assignment4/datam/true_sift/222.jpg new file mode 100644 index 0000000..6b4021a Binary files /dev/null and b/assignment4/datam/true_sift/222.jpg differ diff --git a/assignment4/datam/true_sift/223.jpg b/assignment4/datam/true_sift/223.jpg new file mode 100644 index 0000000..aef3f31 Binary files /dev/null and b/assignment4/datam/true_sift/223.jpg differ diff --git a/assignment4/datam/true_sift/224.jpg b/assignment4/datam/true_sift/224.jpg new file mode 100644 index 0000000..7f8c13e Binary files /dev/null and b/assignment4/datam/true_sift/224.jpg differ diff --git a/assignment4/datam/true_sift/225.jpg b/assignment4/datam/true_sift/225.jpg new file mode 100644 index 0000000..b867191 Binary files /dev/null and b/assignment4/datam/true_sift/225.jpg differ diff --git a/assignment4/datam/true_sift/226.jpg b/assignment4/datam/true_sift/226.jpg new file mode 100644 index 0000000..0fdc4a7 Binary files /dev/null and b/assignment4/datam/true_sift/226.jpg differ diff --git a/assignment4/datam/true_sift/227.jpg b/assignment4/datam/true_sift/227.jpg new file mode 100644 index 0000000..ee85d96 Binary files /dev/null and b/assignment4/datam/true_sift/227.jpg differ diff --git a/assignment4/datam/true_sift/228.jpg b/assignment4/datam/true_sift/228.jpg new file mode 100644 index 0000000..83e6dfc Binary files /dev/null and b/assignment4/datam/true_sift/228.jpg differ diff --git a/assignment4/datam/true_sift/229.jpg b/assignment4/datam/true_sift/229.jpg new file mode 100644 index 0000000..14e3266 Binary files /dev/null and b/assignment4/datam/true_sift/229.jpg differ diff --git a/assignment4/datam/true_sift/23.jpg b/assignment4/datam/true_sift/23.jpg new file mode 100644 index 0000000..a7c5220 Binary files /dev/null and b/assignment4/datam/true_sift/23.jpg differ diff --git a/assignment4/datam/true_sift/230.jpg b/assignment4/datam/true_sift/230.jpg new file mode 100644 index 0000000..22c3669 Binary files /dev/null and b/assignment4/datam/true_sift/230.jpg differ diff --git a/assignment4/datam/true_sift/231.jpg b/assignment4/datam/true_sift/231.jpg new file mode 100644 index 0000000..9f49473 Binary files /dev/null and b/assignment4/datam/true_sift/231.jpg differ diff --git a/assignment4/datam/true_sift/232.jpg b/assignment4/datam/true_sift/232.jpg new file mode 100644 index 0000000..3a8544f Binary files /dev/null and b/assignment4/datam/true_sift/232.jpg differ diff --git a/assignment4/datam/true_sift/233.jpg b/assignment4/datam/true_sift/233.jpg new file mode 100644 index 0000000..df0dc8e Binary files /dev/null and b/assignment4/datam/true_sift/233.jpg differ diff --git a/assignment4/datam/true_sift/234.jpg b/assignment4/datam/true_sift/234.jpg new file mode 100644 index 0000000..efeb13c Binary files /dev/null and b/assignment4/datam/true_sift/234.jpg differ diff --git a/assignment4/datam/true_sift/235.jpg b/assignment4/datam/true_sift/235.jpg new file mode 100644 index 0000000..f047d15 Binary files /dev/null and b/assignment4/datam/true_sift/235.jpg differ diff --git a/assignment4/datam/true_sift/236.jpg b/assignment4/datam/true_sift/236.jpg new file mode 100644 index 0000000..c0d7740 Binary files /dev/null and b/assignment4/datam/true_sift/236.jpg differ diff --git a/assignment4/datam/true_sift/237.jpg b/assignment4/datam/true_sift/237.jpg new file mode 100644 index 0000000..d37338f Binary files /dev/null and b/assignment4/datam/true_sift/237.jpg differ diff --git a/assignment4/datam/true_sift/238.jpg b/assignment4/datam/true_sift/238.jpg new file mode 100644 index 0000000..24e265a Binary files /dev/null and b/assignment4/datam/true_sift/238.jpg differ diff --git a/assignment4/datam/true_sift/239.jpg b/assignment4/datam/true_sift/239.jpg new file mode 100644 index 0000000..c9d0e88 Binary files /dev/null and b/assignment4/datam/true_sift/239.jpg differ diff --git a/assignment4/datam/true_sift/24.jpg b/assignment4/datam/true_sift/24.jpg new file mode 100644 index 0000000..21b2172 Binary files /dev/null and b/assignment4/datam/true_sift/24.jpg differ diff --git a/assignment4/datam/true_sift/240.jpg b/assignment4/datam/true_sift/240.jpg new file mode 100644 index 0000000..03565e4 Binary files /dev/null and b/assignment4/datam/true_sift/240.jpg differ diff --git a/assignment4/datam/true_sift/241.jpg b/assignment4/datam/true_sift/241.jpg new file mode 100644 index 0000000..6a72d8b Binary files /dev/null and b/assignment4/datam/true_sift/241.jpg differ diff --git a/assignment4/datam/true_sift/242.jpg b/assignment4/datam/true_sift/242.jpg new file mode 100644 index 0000000..e82123b Binary files /dev/null and b/assignment4/datam/true_sift/242.jpg differ diff --git a/assignment4/datam/true_sift/243.jpg b/assignment4/datam/true_sift/243.jpg new file mode 100644 index 0000000..31a7e1b Binary files /dev/null and b/assignment4/datam/true_sift/243.jpg differ diff --git a/assignment4/datam/true_sift/244.jpg b/assignment4/datam/true_sift/244.jpg new file mode 100644 index 0000000..b033b14 Binary files /dev/null and b/assignment4/datam/true_sift/244.jpg differ diff --git a/assignment4/datam/true_sift/245.jpg b/assignment4/datam/true_sift/245.jpg new file mode 100644 index 0000000..07563aa Binary files /dev/null and b/assignment4/datam/true_sift/245.jpg differ diff --git a/assignment4/datam/true_sift/246.jpg b/assignment4/datam/true_sift/246.jpg new file mode 100644 index 0000000..7409ca9 Binary files /dev/null and b/assignment4/datam/true_sift/246.jpg differ diff --git a/assignment4/datam/true_sift/247.jpg b/assignment4/datam/true_sift/247.jpg new file mode 100644 index 0000000..90e1b1a Binary files /dev/null and b/assignment4/datam/true_sift/247.jpg differ diff --git a/assignment4/datam/true_sift/248.jpg b/assignment4/datam/true_sift/248.jpg new file mode 100644 index 0000000..942ac2c Binary files /dev/null and b/assignment4/datam/true_sift/248.jpg differ diff --git a/assignment4/datam/true_sift/249.jpg b/assignment4/datam/true_sift/249.jpg new file mode 100644 index 0000000..5825217 Binary files /dev/null and b/assignment4/datam/true_sift/249.jpg differ diff --git a/assignment4/datam/true_sift/25.jpg b/assignment4/datam/true_sift/25.jpg new file mode 100644 index 0000000..336b2de Binary files /dev/null and b/assignment4/datam/true_sift/25.jpg differ diff --git a/assignment4/datam/true_sift/250.jpg b/assignment4/datam/true_sift/250.jpg new file mode 100644 index 0000000..5faa057 Binary files /dev/null and b/assignment4/datam/true_sift/250.jpg differ diff --git a/assignment4/datam/true_sift/251.jpg b/assignment4/datam/true_sift/251.jpg new file mode 100644 index 0000000..6297352 Binary files /dev/null and b/assignment4/datam/true_sift/251.jpg differ diff --git a/assignment4/datam/true_sift/252.jpg b/assignment4/datam/true_sift/252.jpg new file mode 100644 index 0000000..24c4339 Binary files /dev/null and b/assignment4/datam/true_sift/252.jpg differ diff --git a/assignment4/datam/true_sift/253.jpg b/assignment4/datam/true_sift/253.jpg new file mode 100644 index 0000000..ddef835 Binary files /dev/null and b/assignment4/datam/true_sift/253.jpg differ diff --git a/assignment4/datam/true_sift/254.jpg b/assignment4/datam/true_sift/254.jpg new file mode 100644 index 0000000..d6e5331 Binary files /dev/null and b/assignment4/datam/true_sift/254.jpg differ diff --git a/assignment4/datam/true_sift/255.jpg b/assignment4/datam/true_sift/255.jpg new file mode 100644 index 0000000..4b10ab1 Binary files /dev/null and b/assignment4/datam/true_sift/255.jpg differ diff --git a/assignment4/datam/true_sift/26.jpg b/assignment4/datam/true_sift/26.jpg new file mode 100644 index 0000000..2a1a2fe Binary files /dev/null and b/assignment4/datam/true_sift/26.jpg differ diff --git a/assignment4/datam/true_sift/27.jpg b/assignment4/datam/true_sift/27.jpg new file mode 100644 index 0000000..27c8060 Binary files /dev/null and b/assignment4/datam/true_sift/27.jpg differ diff --git a/assignment4/datam/true_sift/28.jpg b/assignment4/datam/true_sift/28.jpg new file mode 100644 index 0000000..72761c4 Binary files /dev/null and b/assignment4/datam/true_sift/28.jpg differ diff --git a/assignment4/datam/true_sift/29.jpg b/assignment4/datam/true_sift/29.jpg new file mode 100644 index 0000000..b0cd900 Binary files /dev/null and b/assignment4/datam/true_sift/29.jpg differ diff --git a/assignment4/datam/true_sift/3.jpg b/assignment4/datam/true_sift/3.jpg new file mode 100644 index 0000000..8bdf921 Binary files /dev/null and b/assignment4/datam/true_sift/3.jpg differ diff --git a/assignment4/datam/true_sift/30.jpg b/assignment4/datam/true_sift/30.jpg new file mode 100644 index 0000000..2df9571 Binary files /dev/null and b/assignment4/datam/true_sift/30.jpg differ diff --git a/assignment4/datam/true_sift/31.jpg b/assignment4/datam/true_sift/31.jpg new file mode 100644 index 0000000..340b898 Binary files /dev/null and b/assignment4/datam/true_sift/31.jpg differ diff --git a/assignment4/datam/true_sift/32.jpg b/assignment4/datam/true_sift/32.jpg new file mode 100644 index 0000000..d211d39 Binary files /dev/null and b/assignment4/datam/true_sift/32.jpg differ diff --git a/assignment4/datam/true_sift/33.jpg b/assignment4/datam/true_sift/33.jpg new file mode 100644 index 0000000..1053564 Binary files /dev/null and b/assignment4/datam/true_sift/33.jpg differ diff --git a/assignment4/datam/true_sift/34.jpg b/assignment4/datam/true_sift/34.jpg new file mode 100644 index 0000000..9c91ff3 Binary files /dev/null and b/assignment4/datam/true_sift/34.jpg differ diff --git a/assignment4/datam/true_sift/35.jpg b/assignment4/datam/true_sift/35.jpg new file mode 100644 index 0000000..aa63646 Binary files /dev/null and b/assignment4/datam/true_sift/35.jpg differ diff --git a/assignment4/datam/true_sift/36.jpg b/assignment4/datam/true_sift/36.jpg new file mode 100644 index 0000000..5beb476 Binary files /dev/null and b/assignment4/datam/true_sift/36.jpg differ diff --git a/assignment4/datam/true_sift/37.jpg b/assignment4/datam/true_sift/37.jpg new file mode 100644 index 0000000..bc8b4da Binary files /dev/null and b/assignment4/datam/true_sift/37.jpg differ diff --git a/assignment4/datam/true_sift/38.jpg b/assignment4/datam/true_sift/38.jpg new file mode 100644 index 0000000..741df1d Binary files /dev/null and b/assignment4/datam/true_sift/38.jpg differ diff --git a/assignment4/datam/true_sift/39.jpg b/assignment4/datam/true_sift/39.jpg new file mode 100644 index 0000000..337e34a Binary files /dev/null and b/assignment4/datam/true_sift/39.jpg differ diff --git a/assignment4/datam/true_sift/4.jpg b/assignment4/datam/true_sift/4.jpg new file mode 100644 index 0000000..cfed0b5 Binary files /dev/null and b/assignment4/datam/true_sift/4.jpg differ diff --git a/assignment4/datam/true_sift/40.jpg b/assignment4/datam/true_sift/40.jpg new file mode 100644 index 0000000..a4c32c8 Binary files /dev/null and b/assignment4/datam/true_sift/40.jpg differ diff --git a/assignment4/datam/true_sift/41.jpg b/assignment4/datam/true_sift/41.jpg new file mode 100644 index 0000000..2a5dce0 Binary files /dev/null and b/assignment4/datam/true_sift/41.jpg differ diff --git a/assignment4/datam/true_sift/42.jpg b/assignment4/datam/true_sift/42.jpg new file mode 100644 index 0000000..8dded6d Binary files /dev/null and b/assignment4/datam/true_sift/42.jpg differ diff --git a/assignment4/datam/true_sift/43.jpg b/assignment4/datam/true_sift/43.jpg new file mode 100644 index 0000000..4517cdc Binary files /dev/null and b/assignment4/datam/true_sift/43.jpg differ diff --git a/assignment4/datam/true_sift/44.jpg b/assignment4/datam/true_sift/44.jpg new file mode 100644 index 0000000..0d9f4c2 Binary files /dev/null and b/assignment4/datam/true_sift/44.jpg differ diff --git a/assignment4/datam/true_sift/45.jpg b/assignment4/datam/true_sift/45.jpg new file mode 100644 index 0000000..4184e41 Binary files /dev/null and b/assignment4/datam/true_sift/45.jpg differ diff --git a/assignment4/datam/true_sift/46.jpg b/assignment4/datam/true_sift/46.jpg new file mode 100644 index 0000000..b551272 Binary files /dev/null and b/assignment4/datam/true_sift/46.jpg differ diff --git a/assignment4/datam/true_sift/47.jpg b/assignment4/datam/true_sift/47.jpg new file mode 100644 index 0000000..e786f74 Binary files /dev/null and b/assignment4/datam/true_sift/47.jpg differ diff --git a/assignment4/datam/true_sift/48.jpg b/assignment4/datam/true_sift/48.jpg new file mode 100644 index 0000000..4e944e1 Binary files /dev/null and b/assignment4/datam/true_sift/48.jpg differ diff --git a/assignment4/datam/true_sift/49.jpg b/assignment4/datam/true_sift/49.jpg new file mode 100644 index 0000000..e0d0aab Binary files /dev/null and b/assignment4/datam/true_sift/49.jpg differ diff --git a/assignment4/datam/true_sift/5.jpg b/assignment4/datam/true_sift/5.jpg new file mode 100644 index 0000000..62b2caa Binary files /dev/null and b/assignment4/datam/true_sift/5.jpg differ diff --git a/assignment4/datam/true_sift/50.jpg b/assignment4/datam/true_sift/50.jpg new file mode 100644 index 0000000..62899b0 Binary files /dev/null and b/assignment4/datam/true_sift/50.jpg differ diff --git a/assignment4/datam/true_sift/51.jpg b/assignment4/datam/true_sift/51.jpg new file mode 100644 index 0000000..617bc7b Binary files /dev/null and b/assignment4/datam/true_sift/51.jpg differ diff --git a/assignment4/datam/true_sift/52.jpg b/assignment4/datam/true_sift/52.jpg new file mode 100644 index 0000000..3b4717e Binary files /dev/null and b/assignment4/datam/true_sift/52.jpg differ diff --git a/assignment4/datam/true_sift/53.jpg b/assignment4/datam/true_sift/53.jpg new file mode 100644 index 0000000..246c34f Binary files /dev/null and b/assignment4/datam/true_sift/53.jpg differ diff --git a/assignment4/datam/true_sift/54.jpg b/assignment4/datam/true_sift/54.jpg new file mode 100644 index 0000000..13116ab Binary files /dev/null and b/assignment4/datam/true_sift/54.jpg differ diff --git a/assignment4/datam/true_sift/55.jpg b/assignment4/datam/true_sift/55.jpg new file mode 100644 index 0000000..b14fe63 Binary files /dev/null and b/assignment4/datam/true_sift/55.jpg differ diff --git a/assignment4/datam/true_sift/56.jpg b/assignment4/datam/true_sift/56.jpg new file mode 100644 index 0000000..1de5ccd Binary files /dev/null and b/assignment4/datam/true_sift/56.jpg differ diff --git a/assignment4/datam/true_sift/57.jpg b/assignment4/datam/true_sift/57.jpg new file mode 100644 index 0000000..a0c89b6 Binary files /dev/null and b/assignment4/datam/true_sift/57.jpg differ diff --git a/assignment4/datam/true_sift/58.jpg b/assignment4/datam/true_sift/58.jpg new file mode 100644 index 0000000..9978f90 Binary files /dev/null and b/assignment4/datam/true_sift/58.jpg differ diff --git a/assignment4/datam/true_sift/59.jpg b/assignment4/datam/true_sift/59.jpg new file mode 100644 index 0000000..b8fe38d Binary files /dev/null and b/assignment4/datam/true_sift/59.jpg differ diff --git a/assignment4/datam/true_sift/6.jpg b/assignment4/datam/true_sift/6.jpg new file mode 100644 index 0000000..0dc71aa Binary files /dev/null and b/assignment4/datam/true_sift/6.jpg differ diff --git a/assignment4/datam/true_sift/60.jpg b/assignment4/datam/true_sift/60.jpg new file mode 100644 index 0000000..277fea2 Binary files /dev/null and b/assignment4/datam/true_sift/60.jpg differ diff --git a/assignment4/datam/true_sift/61.jpg b/assignment4/datam/true_sift/61.jpg new file mode 100644 index 0000000..6f85d5a Binary files /dev/null and b/assignment4/datam/true_sift/61.jpg differ diff --git a/assignment4/datam/true_sift/62.jpg b/assignment4/datam/true_sift/62.jpg new file mode 100644 index 0000000..0f9e4d1 Binary files /dev/null and b/assignment4/datam/true_sift/62.jpg differ diff --git a/assignment4/datam/true_sift/63.jpg b/assignment4/datam/true_sift/63.jpg new file mode 100644 index 0000000..953127a Binary files /dev/null and b/assignment4/datam/true_sift/63.jpg differ diff --git a/assignment4/datam/true_sift/64.jpg b/assignment4/datam/true_sift/64.jpg new file mode 100644 index 0000000..702c162 Binary files /dev/null and b/assignment4/datam/true_sift/64.jpg differ diff --git a/assignment4/datam/true_sift/65.jpg b/assignment4/datam/true_sift/65.jpg new file mode 100644 index 0000000..35f5500 Binary files /dev/null and b/assignment4/datam/true_sift/65.jpg differ diff --git a/assignment4/datam/true_sift/66.jpg b/assignment4/datam/true_sift/66.jpg new file mode 100644 index 0000000..b47baee Binary files /dev/null and b/assignment4/datam/true_sift/66.jpg differ diff --git a/assignment4/datam/true_sift/67.jpg b/assignment4/datam/true_sift/67.jpg new file mode 100644 index 0000000..4eea453 Binary files /dev/null and b/assignment4/datam/true_sift/67.jpg differ diff --git a/assignment4/datam/true_sift/68.jpg b/assignment4/datam/true_sift/68.jpg new file mode 100644 index 0000000..9bed0c4 Binary files /dev/null and b/assignment4/datam/true_sift/68.jpg differ diff --git a/assignment4/datam/true_sift/69.jpg b/assignment4/datam/true_sift/69.jpg new file mode 100644 index 0000000..fd64ee6 Binary files /dev/null and b/assignment4/datam/true_sift/69.jpg differ diff --git a/assignment4/datam/true_sift/7.jpg b/assignment4/datam/true_sift/7.jpg new file mode 100644 index 0000000..bca0189 Binary files /dev/null and b/assignment4/datam/true_sift/7.jpg differ diff --git a/assignment4/datam/true_sift/70.jpg b/assignment4/datam/true_sift/70.jpg new file mode 100644 index 0000000..c3b7926 Binary files /dev/null and b/assignment4/datam/true_sift/70.jpg differ diff --git a/assignment4/datam/true_sift/71.jpg b/assignment4/datam/true_sift/71.jpg new file mode 100644 index 0000000..fbe32cf Binary files /dev/null and b/assignment4/datam/true_sift/71.jpg differ diff --git a/assignment4/datam/true_sift/72.jpg b/assignment4/datam/true_sift/72.jpg new file mode 100644 index 0000000..7c96b61 Binary files /dev/null and b/assignment4/datam/true_sift/72.jpg differ diff --git a/assignment4/datam/true_sift/73.jpg b/assignment4/datam/true_sift/73.jpg new file mode 100644 index 0000000..f8e8ab2 Binary files /dev/null and b/assignment4/datam/true_sift/73.jpg differ diff --git a/assignment4/datam/true_sift/74.jpg b/assignment4/datam/true_sift/74.jpg new file mode 100644 index 0000000..2e2d805 Binary files /dev/null and b/assignment4/datam/true_sift/74.jpg differ diff --git a/assignment4/datam/true_sift/75.jpg b/assignment4/datam/true_sift/75.jpg new file mode 100644 index 0000000..5d2ee9d Binary files /dev/null and b/assignment4/datam/true_sift/75.jpg differ diff --git a/assignment4/datam/true_sift/76.jpg b/assignment4/datam/true_sift/76.jpg new file mode 100644 index 0000000..a27c5db Binary files /dev/null and b/assignment4/datam/true_sift/76.jpg differ diff --git a/assignment4/datam/true_sift/77.jpg b/assignment4/datam/true_sift/77.jpg new file mode 100644 index 0000000..1a6c779 Binary files /dev/null and b/assignment4/datam/true_sift/77.jpg differ diff --git a/assignment4/datam/true_sift/78.jpg b/assignment4/datam/true_sift/78.jpg new file mode 100644 index 0000000..0e09532 Binary files /dev/null and b/assignment4/datam/true_sift/78.jpg differ diff --git a/assignment4/datam/true_sift/79.jpg b/assignment4/datam/true_sift/79.jpg new file mode 100644 index 0000000..92152e2 Binary files /dev/null and b/assignment4/datam/true_sift/79.jpg differ diff --git a/assignment4/datam/true_sift/8.jpg b/assignment4/datam/true_sift/8.jpg new file mode 100644 index 0000000..38ef56b Binary files /dev/null and b/assignment4/datam/true_sift/8.jpg differ diff --git a/assignment4/datam/true_sift/80.jpg b/assignment4/datam/true_sift/80.jpg new file mode 100644 index 0000000..9f2c4fd Binary files /dev/null and b/assignment4/datam/true_sift/80.jpg differ diff --git a/assignment4/datam/true_sift/81.jpg b/assignment4/datam/true_sift/81.jpg new file mode 100644 index 0000000..4abe183 Binary files /dev/null and b/assignment4/datam/true_sift/81.jpg differ diff --git a/assignment4/datam/true_sift/82.jpg b/assignment4/datam/true_sift/82.jpg new file mode 100644 index 0000000..fb3d530 Binary files /dev/null and b/assignment4/datam/true_sift/82.jpg differ diff --git a/assignment4/datam/true_sift/83.jpg b/assignment4/datam/true_sift/83.jpg new file mode 100644 index 0000000..ae15d18 Binary files /dev/null and b/assignment4/datam/true_sift/83.jpg differ diff --git a/assignment4/datam/true_sift/84.jpg b/assignment4/datam/true_sift/84.jpg new file mode 100644 index 0000000..0d96482 Binary files /dev/null and b/assignment4/datam/true_sift/84.jpg differ diff --git a/assignment4/datam/true_sift/85.jpg b/assignment4/datam/true_sift/85.jpg new file mode 100644 index 0000000..9bac9ef Binary files /dev/null and b/assignment4/datam/true_sift/85.jpg differ diff --git a/assignment4/datam/true_sift/86.jpg b/assignment4/datam/true_sift/86.jpg new file mode 100644 index 0000000..a9d5bad Binary files /dev/null and b/assignment4/datam/true_sift/86.jpg differ diff --git a/assignment4/datam/true_sift/87.jpg b/assignment4/datam/true_sift/87.jpg new file mode 100644 index 0000000..eb5341b Binary files /dev/null and b/assignment4/datam/true_sift/87.jpg differ diff --git a/assignment4/datam/true_sift/88.jpg b/assignment4/datam/true_sift/88.jpg new file mode 100644 index 0000000..1d6be89 Binary files /dev/null and b/assignment4/datam/true_sift/88.jpg differ diff --git a/assignment4/datam/true_sift/89.jpg b/assignment4/datam/true_sift/89.jpg new file mode 100644 index 0000000..5894f41 Binary files /dev/null and b/assignment4/datam/true_sift/89.jpg differ diff --git a/assignment4/datam/true_sift/9.jpg b/assignment4/datam/true_sift/9.jpg new file mode 100644 index 0000000..150c5c6 Binary files /dev/null and b/assignment4/datam/true_sift/9.jpg differ diff --git a/assignment4/datam/true_sift/90.jpg b/assignment4/datam/true_sift/90.jpg new file mode 100644 index 0000000..c2b8883 Binary files /dev/null and b/assignment4/datam/true_sift/90.jpg differ diff --git a/assignment4/datam/true_sift/91.jpg b/assignment4/datam/true_sift/91.jpg new file mode 100644 index 0000000..5e496fb Binary files /dev/null and b/assignment4/datam/true_sift/91.jpg differ diff --git a/assignment4/datam/true_sift/92.jpg b/assignment4/datam/true_sift/92.jpg new file mode 100644 index 0000000..2055c6d Binary files /dev/null and b/assignment4/datam/true_sift/92.jpg differ diff --git a/assignment4/datam/true_sift/93.jpg b/assignment4/datam/true_sift/93.jpg new file mode 100644 index 0000000..2c38966 Binary files /dev/null and b/assignment4/datam/true_sift/93.jpg differ diff --git a/assignment4/datam/true_sift/94.jpg b/assignment4/datam/true_sift/94.jpg new file mode 100644 index 0000000..3b37418 Binary files /dev/null and b/assignment4/datam/true_sift/94.jpg differ diff --git a/assignment4/datam/true_sift/95.jpg b/assignment4/datam/true_sift/95.jpg new file mode 100644 index 0000000..673dd7e Binary files /dev/null and b/assignment4/datam/true_sift/95.jpg differ diff --git a/assignment4/datam/true_sift/96.jpg b/assignment4/datam/true_sift/96.jpg new file mode 100644 index 0000000..b08090f Binary files /dev/null and b/assignment4/datam/true_sift/96.jpg differ diff --git a/assignment4/datam/true_sift/97.jpg b/assignment4/datam/true_sift/97.jpg new file mode 100644 index 0000000..1c84a56 Binary files /dev/null and b/assignment4/datam/true_sift/97.jpg differ diff --git a/assignment4/datam/true_sift/98.jpg b/assignment4/datam/true_sift/98.jpg new file mode 100644 index 0000000..2deb02a Binary files /dev/null and b/assignment4/datam/true_sift/98.jpg differ diff --git a/assignment4/datam/true_sift/99.jpg b/assignment4/datam/true_sift/99.jpg new file mode 100644 index 0000000..da0399e Binary files /dev/null and b/assignment4/datam/true_sift/99.jpg differ diff --git a/assignment4/solution.py b/assignment4/solution.py index 896e7dd..3946fbd 100644 --- a/assignment4/solution.py +++ b/assignment4/solution.py @@ -13,6 +13,7 @@ import os def ex1(): one_a() one_b() + #one_d() def one_a() -> None: img = uz_image.imread_gray("data/graf/graf_a.jpg", uz_image.ImageType.float64) @@ -52,6 +53,88 @@ def one_b() -> None: plt.show() +def one_d(): + """ + mplement a local feature detector of your choice (e.g. SIFT, SURF, + BRIEF, HOG). Test it on other assignments and report on the changes (increased + robustness etc.). + """ + # Show how the descriptors do not work + image_a = uz_image.imread_gray("data/graf/graf_a.jpg", uz_image.ImageType.float64) + image_b = uz_image.imread_gray("data/graf/graf_b.jpg", uz_image.ImageType.float64) + + # Get the keypoints + keypoints_a, descriptors_a = uz_image.sift(image_a.astype(np.float64), plot=True, get_descriptors=True) + keypoints_b, descriptors_b = uz_image.sift(image_b.astype(np.float64), plot=False, get_descriptors=True) + + # Find correspondences + correspondences_a = uz_image.find_correspondences(descriptors_a, descriptors_b) + correspondences_b = uz_image.find_correspondences(descriptors_b, descriptors_a) + + + def check_reciprocacvbility(c_a, c_b): + for match in c_a: + if np.flip(match) not in c_b: + index = np.where((c_a == match).all(axis=1))[0][0] + c_a = np.delete(c_a, index, axis=0) + return c_a + + def remove_duplicates(c_a): + unique, counts = np.unique(c_a[:, 1], return_counts=True) + duplicates = unique[counts > 1] + for duplicate in duplicates: + index = np.where(c_a[:, 1] == duplicate)[0] + c_a = np.delete(c_a, index, axis=0) + + return c_a + correspondences_a = remove_duplicates(correspondences_a) + correspondences_b = remove_duplicates(correspondences_b) + + correspondences_a = check_reciprocacvbility(correspondences_a, correspondences_b) + correspondences_b = check_reciprocacvbility(correspondences_b, correspondences_a) + + # Now map correspondences to the keypoints + def map_indexes_to_points(a_points, b_points, corrs_a, corrs_b, img_a_k, img_b_k): + for correspondence in corrs_a: + ix = np.argwhere(correspondence[0] == corrs_b[:, 1]) + if ix.size > 0: + a_points.append(np.flip(img_a_k[correspondence[0]])) + b_points.append(np.flip(img_b_k[correspondence[1]])) + + image_a_points = [] + image_b_points = [] + + map_indexes_to_points(image_a_points, image_b_points, correspondences_a, correspondences_b, keypoints_a, keypoints_b) + map_indexes_to_points(image_b_points, image_a_points, correspondences_b, correspondences_a, keypoints_b, keypoints_a) + + # Plot the matches + uz_image.display_matches(image_a, np.array(image_a_points), image_b, np.array(image_b_points)) + + # But what if we compute simple descriptors? + descriptors_a = uz_image.simple_descriptors(image_a, keypoints_a[:,0], keypoints_a[:,1]) + descriptors_b = uz_image.simple_descriptors(image_b, keypoints_b[:,0], keypoints_b[:,1]) + + # Find correspondences + correspondences_a = uz_image.find_correspondences(descriptors_a, descriptors_b) + correspondences_b = uz_image.find_correspondences(descriptors_b, descriptors_a) + + correspondences_a = remove_duplicates(correspondences_a) + correspondences_b = remove_duplicates(correspondences_b) + + correspondences_a = check_reciprocacvbility(correspondences_a, correspondences_b) + correspondences_b = check_reciprocacvbility(correspondences_b, correspondences_a) + + # Now map correspondences to the keypoints + image_a_points = [] + image_b_points = [] + + map_indexes_to_points(image_a_points, image_b_points, correspondences_a, correspondences_b, keypoints_a, keypoints_b) + map_indexes_to_points(image_b_points, image_a_points, correspondences_b, correspondences_a, keypoints_b, keypoints_a) + + # Plot the matches + uz_image.display_matches(image_a, np.array(image_a_points), image_b, np.array(image_b_points)) + + def ex2(): two_a() two_b() @@ -74,7 +157,7 @@ def two_a() -> None: # Find the correspondences matches_a = uz_image.find_correspondences(graph_a_descriptors, graph_b_descriptors) matches_b = uz_image.find_correspondences(graph_b_descriptors, graph_a_descriptors) - + matches_a_coordinates = [] matches_b_coordinates = [] for i, match in enumerate(matches_a): @@ -94,14 +177,13 @@ def two_b() -> None: graph_b_small = uz_image.imread_gray("data/graf/graf_b_small.jpg", uz_image.ImageType.float64) a, b = uz_image.find_matches(graph_a_small, graph_b_small) - + uz_image.display_matches(graph_a_small, a, graph_b_small, b) def ex3(): - #three_a() + three_a() three_b() - #three_lol() def three_a() -> None: """ @@ -111,18 +193,9 @@ def three_a() -> None: images_a_path = ["data/newyork/newyork_a.jpg", "data/graf/graf_a.jpg"] images_b_path = ["data/newyork/newyork_b.jpg", "data/graf/graf_b.jpg"] - def map_keypoints(keypoints): - # Map the keypoints - a_points =[] - b_points = [] - for row in keypoints: - a_points.append((row[0], row[1])) - b_points.append((row[2], row[3])) - return np.array(a_points), np.array(b_points) - fig, axs = plt.subplots(4, 2) fig.suptitle("Transformation and rotation using homography") - + for i in range(len(keypoints_path)): keypoints = np.loadtxt(keypoints_path[i], dtype=np.float64) @@ -134,17 +207,17 @@ def three_a() -> None: axs[i*2, 0].set_title("A") axs[i*2, 1].set_title("B") - homography_matrix = uz_image.estimate_homography(image_a, image_b, keypoints) + homography_matrix = uz_image.estimate_homography(keypoints) img_output = cv2.warpPerspective(image_a, homography_matrix, (image_a.shape[1], image_a.shape[0])) - axs[i*2+1, 0].imshow(img_output, cmap="gray") - axs[i*2+1, 0].set_title("A transformed") - + axs[i*2+1, 1].imshow(img_output, cmap="gray") + axs[i*2+1, 1].set_title("A transformed") + # invert keypoints keypoints[:,[0, 1, 2, 3]] = keypoints[:,[2, 3, 0, 1]] - homography_matrix = uz_image.estimate_homography(image_a, image_b, keypoints) + homography_matrix = uz_image.estimate_homography(keypoints) img_output = cv2.warpPerspective(image_b, homography_matrix, (image_b.shape[1], image_b.shape[0])) - axs[i*2+1, 1].imshow(img_output, cmap="gray") - axs[i*2+1, 1].set_title("B transformed") + axs[i*2+1, 0].imshow(img_output, cmap="gray") + axs[i*2+1, 0].set_title("B transformed") plt.show() @@ -152,10 +225,10 @@ def three_b() -> None: """ Hi """ - #image_a = uz_image.imread_gray("data/graf/graf_a.jpg", uz_image.ImageType.float64) - #image_b = uz_image.imread_gray("data/graf/graf_b.jpg", uz_image.ImageType.float64) - image_a = uz_image.imread_gray("datam/img1.jpg", uz_image.ImageType.float64) - image_b = uz_image.imread_gray("datam/img2.jpg", uz_image.ImageType.float64) + image_a = uz_image.imread_gray("data/graf/graf_a.jpg", uz_image.ImageType.float64) + image_b = uz_image.imread_gray("data/graf/graf_b.jpg", uz_image.ImageType.float64) + #image_a = uz_image.imread_gray("datam/img1.jpg", uz_image.ImageType.float64) + #image_b = uz_image.imread_gray("datam/img2.jpg", uz_image.ImageType.float64) #image_a = uz_image.imread_gray("data/newyork/newyork_a.jpg", uz_image.ImageType.float64) #image_b = uz_image.imread_gray("data/newyork/newyork_b.jpg", uz_image.ImageType.float64) # Does not work for newyork dataset, becouse the keypoints are not reciprocal @@ -163,7 +236,7 @@ def three_b() -> None: # Get the keypoints keypoints_a, keypoints_b = uz_image.find_matches(image_a, image_b, sigma=3) - hm, best_inliers = uz_image.ransac(image_a,keypoints_a, image_b, keypoints_b) + hm, best_inliers = uz_image.ransac(image_a,keypoints_a, image_b, keypoints_b, iterations=100, threshold=5) # Plot the matches @@ -175,7 +248,7 @@ def three_b() -> None: a_points.append((row[0], row[1])) b_points.append((row[2], row[3])) return np.array(a_points), np.array(b_points) - + a,b = map_keypoints(best_inliers) uz_image.display_matches(image_a, a, image_b, b) @@ -186,35 +259,16 @@ def three_b() -> None: fig.suptitle("Transformation and rotation using homography") axs[0].imshow(image_b, cmap="gray") axs[1].imshow(img_output, cmap="gray") - plt.show() - -def three_lol(): - """ - Hi - """ - image_a = uz_image.imread_gray("data/graf/graf_a.jpg", uz_image.ImageType.float64) - image_b = uz_image.imread_gray("data/graf/graf_b.jpg", uz_image.ImageType.float64) - image_b = uz_image.imread_gray("datam/img1.jpg", uz_image.ImageType.float64) - # Get the keypoints - - #a = uz_image.sift(image_a, True) - b = uz_image.sift(image_b, True) - fig, axs = plt.subplots(1, 2) - #axs[0].imshow(image_a, cmap="gray") - #axs[0].scatter(a[:,1], a[:,0], s=20) - axs[1].imshow(image_b, cmap="gray") - axs[1].scatter(b[:,1], b[:,0], s=20) - plt.show() - + plt.show() # ######## # # SOLUTION # # ######## # def main(): - #ex1() + ex1() ex2() - #ex3() + ex3() if __name__ == '__main__': main()