Amazing-Python-Scripts

Форк
0
74 строки · 2.1 Кб
1
import cv2
2
import tkinter as tk
3
from tkinter.filedialog import *
4

5

6
def choose_image():  # reading the image
7
    photo = askopenfilename()
8
    global img
9
    img = cv2.imread(photo)
10
    img = cv2.resize(img, (500, 500))
11

12
#  functions for every border type
13

14

15
def constant_border():
16
    bordered = cv2.copyMakeBorder(img, 50, 50, 50, 50, cv2.BORDER_CONSTANT)
17
    cv2.imshow("Constant border", bordered)
18
    cv2.waitKey(0)
19
    cv2.destroyAllWindows()
20

21

22
def reflection_border():
23
    bordered = cv2.copyMakeBorder(img, 50, 50, 50, 50, cv2.BORDER_REFLECT)
24
    cv2.imshow("Reflection border", bordered)
25
    cv2.waitKey(0)
26
    cv2.destroyAllWindows()
27

28

29
def default_border():
30
    bordered = cv2.copyMakeBorder(img, 50, 50, 50, 50, cv2.BORDER_DEFAULT)
31
    cv2.imshow("Default border", bordered)
32
    cv2.waitKey(0)
33
    cv2.destroyAllWindows()
34

35

36
def replicate_border():
37
    bordered = cv2.copyMakeBorder(img, 50, 50, 50, 50, cv2.BORDER_REPLICATE)
38
    cv2.imshow("Replicate border", bordered)
39
    cv2.waitKey(0)
40
    cv2.destroyAllWindows()
41

42

43
def wrap_border():
44
    bordered = cv2.copyMakeBorder(img, 50, 50, 50, 50, cv2.BORDER_WRAP)
45
    cv2.imshow("Wrap border", bordered)
46
    cv2.waitKey(0)
47
    cv2.destroyAllWindows()
48

49

50
window = tk.Tk()  # displaying menu and options
51
window.title("Borders on images")
52
window.geometry('320x220')
53
label = tk.Label(window, text="Select an image and then choose an option").grid(
54
    row=0, column=0)
55
b = tk.Button(window, text="Choose image",
56
              command=choose_image).grid(row=1, column=0)
57

58
rad1 = tk.Radiobutton(window, text='Constant border',
59
                      value=1, command=constant_border)
60
rad2 = tk.Radiobutton(window, text='reflection border',
61
                      value=2, command=reflection_border)
62
rad3 = tk.Radiobutton(window, text='default border',
63
                      value=3, command=default_border)
64
rad4 = tk.Radiobutton(window, text='replicate border',
65
                      value=4, command=replicate_border)
66
rad5 = tk.Radiobutton(window, text='wrap border', value=5, command=wrap_border)
67

68
rad1.grid(row=2, column=0)
69
rad2.grid(row=3, column=0)
70
rad3.grid(row=4, column=0)
71
rad4.grid(row=5, column=0)
72
rad5.grid(row=6, column=0)
73

74
window.mainloop()
75

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

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

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

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