Amazing-Python-Scripts

Форк
0
51 строка · 1.5 Кб
1
import cv2
2
import tkinter as tk
3
from tkinter.filedialog import *
4

5
window = tk.Tk()
6
window.title("Matching shapes")
7
window.geometry('350x200')
8

9

10
def image1():  # getting image 1
11
    photo1 = askopenfilename()
12
    global gray1
13
    img1 = cv2.imread(photo1)
14
    img1 = cv2.resize(img1, (500, 500))
15
    gray1 = cv2.cvtColor(img1, cv2.COLOR_RGB2GRAY)
16

17

18
def image2():  # getting image 2
19
    photo2 = askopenfilename()
20
    global gray2
21
    img2 = cv2.imread(photo2)
22
    img2 = cv2.resize(img2, (500, 500))
23
    gray2 = cv2.cvtColor(img2, cv2.COLOR_RGB2GRAY)
24

25

26
def proceeds():  # detecting shape matching using contours
27
    ret, threshold = cv2.threshold(gray1, 127, 255, 0)
28
    ret, threshold2 = cv2.threshold(gray2, 127, 255, 0)
29
    contours, hierarchy, rem1 = cv2.findContours(threshold, 2, 1)
30
    cnt1 = contours[0]
31
    contours, hierarchy, rem2 = cv2.findContours(threshold2, 2, 1)
32
    cnt2 = contours[0]
33
    ret = cv2.matchShapes(cnt1, cnt2, 1, 0.0)
34
    print(ret)
35
    label = tk.Label(window, text="Probability of shapes matching: " +
36
                     str(1-ret)).grid(row=4, column=1)
37

38

39
label = tk.Label(window, text="Image 1").grid(row=1, column=0)
40
label = tk.Label(window, text="Image 2").grid(row=2, column=0)
41

42
b1 = tk.Button(window, text='choose image 1', command=image1)
43
b2 = tk.Button(window, text='choose image 2', command=image2)
44
proceed = tk.Button(window, text='Proceed', command=proceeds)
45

46
b1.grid(row=1, column=1)
47
b2.grid(row=2, column=1)
48
proceed.grid(row=3, column=1)
49

50
window.mainloop()
51
cv2.destroyAllWindows()
52

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.