を用いてGUIを作成しようとしたのですが、わからない点があったので質問させて頂きます。

◆やりたいこと
①:「startボタン」と「stopボタン」の2つのボタンが配置されているメインウィンドウの作成
②:「startボタン」を押すと、接続しているUSBカメラの映像をメインウィンドウ内に表示
③:「stopボタン」を押すと、②で表示されたUSBカメラの映像を消す(メインウィンドウは残したまま)

◆困っている点
①と②は色々なサイトを参考にして作成できたのですが、③の処理のところで
USBカメラの映像を消すことが出来なくて困っています。

現状「stopボタン」を押すとUSBカメラの映像はそのまま変化なしで、
以下のエラーメッセージで出ます。

Exception in thread Thread-8:
Traceback (most recent call last):
File "C:\Users\usr\Anaconda3\lib\threading.py", line 916, in _bootstrap_inner self.run()
File "C:\Users\usr\Anaconda3\lib\threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
TypeError: destroy() missing 1 required positional argument: 'panel'

◆コード

import cv2
from PIL import Image
from PIL import ImageTk
import threading
import tkinter as tk


def button1_clicked():
    thread = threading.Thread(target=videoLoop, args=())
    thread.start()

def button2_clicked():
    thread = threading.Thread(target=destroy, args=())
    thread.start()

def destroy(panel):
    panel.destroy()

def videoLoop(mirror=False):
    No=0
    cap = cv2.VideoCapture(No)
    cap.set(cv2.CAP_PROP_FRAME_WIDTH, 800)
    cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 600)

    while True:
        ret, to_draw = cap.read()
        if mirror is True:
            to_draw = to_draw[:,::-1]

        image = cv2.cvtColor(to_draw, cv2.COLOR_BGR2RGB)
        image = Image.fromarray(image)
        image = ImageTk.PhotoImage(image)
        panel = tk.Label(image=image)
        panel.image = image
        panel.place(x=50, y=50)

    return panel


root = tk.Tk()
root.geometry("1920x1080+0+0")

button1 = tk.Button(root, text="start", bg="#fff", font=("",50), command=button1_clicked)
button1.place(x=1000, y=100, width=400, height=250)

button2 = tk.Button(root, text="stop", bg="#fff", font=("",50), command=button2_clicked)
button2.place(x=1000, y=360, width=400, height=250)

root.mainloop()

どうかよろしくお願い致します。