Amazing-Python-Scripts

Форк
0
72 строки · 1.7 Кб
1

2
# from re import X
3
from tkinter.filedialog import *
4
import tkinter as tk
5
import cv2
6

7
window = tk.Tk()
8
window.title("Image Blur")
9
window.geometry('350x200')
10
label = tk.Label(window, text="Choose an option").grid(row=0, column=1)
11

12

13
def blur1():
14
    photo = askopenfilename()
15
    img = cv2.imread(photo)
16
    avgblur = cv2.blur(img, (5, 5))
17

18
    cv2.imshow("Image", img)
19
    cv2.imshow("Average blur", avgblur)
20

21
    cv2.waitKey(0)
22
    cv2.destroyAllWindows()
23

24

25
def fx(x):
26
    return
27

28

29
def blur2():
30
    photo = askopenfilename()
31
    img = cv2.imread(photo)
32

33
    cv2.namedWindow("Gaussian Blur", cv2.WINDOW_NORMAL)
34

35
    # we want trackbar to not call any function
36
    cv2.createTrackbar("kernelSize", 'Gaussian Blur', 1, 7, fx)
37
    # thus calling an empty function
38

39
    g = cv2.getTrackbarPos("kernelSize", 'Gaussian Blur')
40

41
    if g == 3 or g == 5 or g == 7:  # kernel size must be positive odd values
42
        gaussblur = cv2.GaussianBlur(img, (g, g), 0)
43
    else:
44
        gaussblur = cv2.GaussianBlur(img, (3, 3), 0)
45

46
    cv2.imshow("Image", img)
47
    cv2.imshow("Gaussian Blur", gaussblur)
48

49
    cv2.waitKey(0)
50
    cv2.destroyAllWindows()
51

52

53
def blur3():
54
    photo = askopenfilename()
55
    img = cv2.imread(photo)
56
    medianblur = cv2.medianBlur(img, 5)
57

58
    cv2.imshow("Image", img)
59
    cv2.imshow("Median blur", medianblur)
60

61
    cv2.waitKey(0)
62
    cv2.destroyAllWindows()
63

64

65
rad1 = tk.Radiobutton(window, text='average blur', value=1, command=blur1)
66
rad2 = tk.Radiobutton(window, text='gaussian blur', value=2, command=blur2)
67
rad3 = tk.Radiobutton(window, text='median blur', value=3, command=blur3)
68

69
rad1.grid(row=1, column=0)
70
rad2.grid(row=1, column=1)
71
rad3.grid(row=1, column=2)
72

73
window.mainloop()
74

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

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

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

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