Amazing-Python-Scripts

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

5
window = tk.Tk()
6
window.title("Image blending")
7
window.geometry('300x140')
8

9

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

16

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

23

24
def proceeds():  # reading alpha and displaying output
25
    global alpha
26
    alpha = t.get(1.0, "end-1c")
27
    alpha = float(alpha)
28
    if alpha >= 0 and alpha <= 1:
29
        beta = 1-alpha
30
        res = cv2.addWeighted(img1, alpha, img2, beta, 0.0)
31
        cv2.imshow('Result', res)
32
        cv2.imwrite("Output.jpg", res)
33
        cv2.waitKey(0)
34
    else:  # when alpha is invalid
35
        print("invalid alpha")
36
        exit()
37

38

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

43
t = tk.Text(window, height=1, width=5)
44
b1 = tk.Button(window, text='choose image 1', command=image1)
45
b2 = tk.Button(window, text='choose image 2', command=image2)
46
proceed = tk.Button(window, text='Proceed', command=proceeds)
47

48
t.grid(row=0, column=1)
49
b1.grid(row=1, column=1)
50
b2.grid(row=2, column=1)
51
proceed.grid(row=3, column=1)
52

53
window.mainloop()
54
cv2.destroyAllWindows()
55

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

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

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

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