funciones – No me muestra la imagen cuando presiono el botón usando Tkinter en Python 3


Quiero mostrar una imagen dentro de un Frame que está en una función que a su vez es llamada por un botón. Cuando presiono el botón me muestra el Frame pero no la imagen. Ya he probado a mostrar el Frame con la imagen en la ventana sin necesidad del botón y funciona. El enunciado me exige mostrar la imagen al presionar el botón.

Aquí el código de ejemplo que hace una función similar al programa donde lo quiero implementar:

from tkinter import *

w = Tk()

def ver():
    f=Frame(w, width=420, height=360)
    f.config(
        padx=15,
        pady=15,
        bd=2,
        relief=SOLID
    )
    img = PhotoImage(file="manzana.png")
    fimg= img.subsample(10,10)
    l=Label(f, image=fimg)
    l.pack()
    f.pack()

w.geometry("640x480")

b=Button(w, text="Ver imagen", fg="white", bg="black", command=ver)
b.place(relx=1, rely=1)
b.pack()

w.mainloop()