Amazing-Python-Scripts
51 строка · 1.5 Кб
1import cv22import tkinter as tk3from tkinter.filedialog import *4
5window = tk.Tk()6window.title("Matching shapes")7window.geometry('350x200')8
9
10def image1(): # getting image 111photo1 = askopenfilename()12global gray113img1 = cv2.imread(photo1)14img1 = cv2.resize(img1, (500, 500))15gray1 = cv2.cvtColor(img1, cv2.COLOR_RGB2GRAY)16
17
18def image2(): # getting image 219photo2 = askopenfilename()20global gray221img2 = cv2.imread(photo2)22img2 = cv2.resize(img2, (500, 500))23gray2 = cv2.cvtColor(img2, cv2.COLOR_RGB2GRAY)24
25
26def proceeds(): # detecting shape matching using contours27ret, threshold = cv2.threshold(gray1, 127, 255, 0)28ret, threshold2 = cv2.threshold(gray2, 127, 255, 0)29contours, hierarchy, rem1 = cv2.findContours(threshold, 2, 1)30cnt1 = contours[0]31contours, hierarchy, rem2 = cv2.findContours(threshold2, 2, 1)32cnt2 = contours[0]33ret = cv2.matchShapes(cnt1, cnt2, 1, 0.0)34print(ret)35label = tk.Label(window, text="Probability of shapes matching: " +36str(1-ret)).grid(row=4, column=1)37
38
39label = tk.Label(window, text="Image 1").grid(row=1, column=0)40label = tk.Label(window, text="Image 2").grid(row=2, column=0)41
42b1 = tk.Button(window, text='choose image 1', command=image1)43b2 = tk.Button(window, text='choose image 2', command=image2)44proceed = tk.Button(window, text='Proceed', command=proceeds)45
46b1.grid(row=1, column=1)47b2.grid(row=2, column=1)48proceed.grid(row=3, column=1)49
50window.mainloop()51cv2.destroyAllWindows()52