1. 업로드 버튼의 위치를 변경합니다.
#업로드 버튼 구현
upload=Button(top,text="Upload an sound",command=upload_sound,padx=10,pady=5)
upload.configure(background='#364156', foreground='white',font=('arial',10,'bold'))  #버튼 색깔
upload.pack(side=BOTTOM, pady=50)  # 버튼의 위치 , TOP, BOTTOM, LEFT, RIGHT 를 쓸 수 있음
upload.place(relx=0.2, rely=0.8)  # <--- 이 부분 추가
  1. 분류 버튼을 아래에 위치 시킵니다.
#분류 버튼 구현
classify_bt=Button(top,text="classify an sound",command= classify ,padx=10,pady=5)
classify_bt.configure(background='#364156', foreground='white',font=('arial',10,'bold'))  #버튼 색깔
classify_bt.pack(side=TOP, pady=50)  # 버튼의 위치 , TOP, BOTTOM, LEFT, RIGHT 를 쓸 수 있음
classify_bt.place(relx=0.6, rely=0.8)  # <--- 이 부분 추가
  1. 2개의 버튼의 색깔을 변경합니다.
#12. 분류하는 버튼을 판에 올립니다.

background='white', foreground='black'  <-- 이 부분 변경

#업로드 버튼 구현

upload=Button(top,text="Upload an sound",command=upload_sound,padx=10,pady=5)
upload.configure(background='white', foreground='black',font=('arial',10,'bold'))  #버튼 색깔
upload.pack(side=BOTTOM, pady=50)  # 버튼의 위치 , TOP, BOTTOM, LEFT, RIGHT 를 쓸 수 있음
upload.place(relx=0.2, rely=0.8)

#분류 버튼 구현

classify_bt=Button(top,text="classify an sound",command= classify ,padx=10,pady=5)
classify_bt.configure(background='white', foreground='black',font=('arial',10,'bold'))  #버튼 색깔
classify_bt.pack(side=TOP, pady=50)  # 버튼의 위치 , TOP, BOTTOM, LEFT, RIGHT 를 쓸 수 있음
classify_bt.place(relx=0.6, rely=0.8)

#13. 소리를 재생하는 함수를 생성합니다.

#별도의 코드창에서  !pip  install  pygame  을 실행해서 pygame 을 설치하세요.

from  pygame   import   mixer   # 소리 재생 모듈입니다.

def  Play():
if  file_path:  # file_path 에 음원의 위치와 이름이 들어있다면
mixer.init()   # 초기화 작업 수행
mixer.music.load(file_path)  # 음원을 불러들임
mixer.music.play()  # 음원 재생
#14. 소리 재생 버튼을 만듭니다.

btn_play = Button( top, text = 'Play', width = 10, font = ( 'Courier' , 10), command = Play )
btn_play.place( x=350, y=455 )  # 버튼의 위치를 지정합니다.

#15. 바탕화면 색깔을 변경합니다.

top.configure(background='#e5ddff')  # 판의 바탕 색깔, 구글에서 #CDCDCD 검색

label = Label( top, background='#e5ddff' , font =('arial', 45, 'bold') )

#16. 분류 버튼을 눌렀을때 개사진과 고양이 사진이 화면에 출력되겠금 구글에서 개사진과
고양이 사진을 확장자 png 파일로 구해서 c 드라이브 밑에 data 밑에 catimage.png,
dogimage.png 로 저장하시오 !

#17. classify 함수에 이미지 전처리하는 코드 3줄을 upload 함수로 옮기시오 !
    global x_test_features
    file_path=filedialog.askopenfilename()
    x_test = librosa.load(file_path)[0]
    wave_rate = librosa.load(file_path)[1]

지금까지의 코드: https://cafe.daum.net/oracleoracle/Sl3Y/609

#18.  다운로드 받은 개사진과 고양이 사진을 분류 결과로 표시하기

def  classify():
pred = model.predict( x_test_features.reshape( 1, 41, ) )   # 모델에 넣고 예측해라
a = np.argmax(pred)                                               # 가장 큰 원소의 인덱스 번호를 추출합니다.
if  a == 0:
    sign='This is a cat'
    image_path = 'c:\\\\\\\\data\\\\\\\\catimage.png'
else:
    sign='This is a dog'
    image_path = 'c:\\\\\\\\data\\\\\\\\dogimage.png'

uploaded = Image.open(image_path)    # os 에 있는 이미지를 불러옵니다.
uploaded.thumbnail(( (top.winfo_width()/2.25), (top.winfo_height()/2.25) ))  # 사이즈를 조절하고
img = ImageTk.PhotoImage(uploaded)    # 사진을 img 에 담습니다.

sign_image.configure(image=img)  # 불러온 사진을 sign_image 라는 변수로 구성
sign_image.image = img              # 불러온 사진을 sign_image.image 에 담습니다.
sign_image.pack()                       # 불러온 사진을 완전히 지정하고
sign_image.place(relx=0.35, rely=0.2)  # 위치 시킵니다.

label.configure(foreground='#011638', text= sign)

그리고 맨 아래에 play 버튼 구현 코드 밑에 사진을 붙이는 코드를 추가 합니다.

sign_image = Label(top)
sign_image.pack( side=BOTTOM, expand=True )
sign_image.place(relx =0.5, rely=0.3)

출력되는 글씨의 위치를 조정합니다.

label.configure(foreground='#011638', text= sign)
label.place(x=220, y=50)  # <--- 이 부분 추가

지금까지의 전체 코드 : https://cafe.daum.net/oracleoracle/Sl3Y/613

#19. 사진 아래에 확률 그래프가 출력될 수 있도록 함수를 만드시오 !

from  matplotlib.backends.backend_tkagg  import  FigureCanvasTkAgg

def  Draw_graph(pred):
fig = plt.Figure( figsize=( 7, 0.5 ),  facecolor='#e5ddff' ) # 그래프의 크기와 색깔을 지정
plot = FigureCanvasTKAgg( fig, master=top)  # tkinter 위에 그래프 올리기
# 확률 숫자 생성
y = [ 'cat %0.3f'%pred[0][0],  'dog %0.3f'%pred[0][1] ]  # 소수점이하 3번째까지만 2개의 확률저장
# 그래프 그리기
fig.add_subplot(1,1,1).barh( y , pred[0], color='lightpink') # 그래프 그리기 , 막대 색깔 설정

plot.draw()                           # 그래프 그리기
plot.get_tk_widget().pack()        # 그래프 설정을 저장하기
plot.get_tk_widget().place( x =150, y=400 )  # 그래프 위치 지정하기

지금까지 전체코드 :https://cafe.daum.net/oracleoracle/Sl3Y/614