Amazing-Python-Scripts
72 строки · 1.7 Кб
1
2# from re import X
3from tkinter.filedialog import *4import tkinter as tk5import cv26
7window = tk.Tk()8window.title("Image Blur")9window.geometry('350x200')10label = tk.Label(window, text="Choose an option").grid(row=0, column=1)11
12
13def blur1():14photo = askopenfilename()15img = cv2.imread(photo)16avgblur = cv2.blur(img, (5, 5))17
18cv2.imshow("Image", img)19cv2.imshow("Average blur", avgblur)20
21cv2.waitKey(0)22cv2.destroyAllWindows()23
24
25def fx(x):26return27
28
29def blur2():30photo = askopenfilename()31img = cv2.imread(photo)32
33cv2.namedWindow("Gaussian Blur", cv2.WINDOW_NORMAL)34
35# we want trackbar to not call any function36cv2.createTrackbar("kernelSize", 'Gaussian Blur', 1, 7, fx)37# thus calling an empty function38
39g = cv2.getTrackbarPos("kernelSize", 'Gaussian Blur')40
41if g == 3 or g == 5 or g == 7: # kernel size must be positive odd values42gaussblur = cv2.GaussianBlur(img, (g, g), 0)43else:44gaussblur = cv2.GaussianBlur(img, (3, 3), 0)45
46cv2.imshow("Image", img)47cv2.imshow("Gaussian Blur", gaussblur)48
49cv2.waitKey(0)50cv2.destroyAllWindows()51
52
53def blur3():54photo = askopenfilename()55img = cv2.imread(photo)56medianblur = cv2.medianBlur(img, 5)57
58cv2.imshow("Image", img)59cv2.imshow("Median blur", medianblur)60
61cv2.waitKey(0)62cv2.destroyAllWindows()63
64
65rad1 = tk.Radiobutton(window, text='average blur', value=1, command=blur1)66rad2 = tk.Radiobutton(window, text='gaussian blur', value=2, command=blur2)67rad3 = tk.Radiobutton(window, text='median blur', value=3, command=blur3)68
69rad1.grid(row=1, column=0)70rad2.grid(row=1, column=1)71rad3.grid(row=1, column=2)72
73window.mainloop()74