python, streamlit

streamlit : 이미지, 동영상, 음악파일 화면에 보여주기

juunghee 2025. 2. 3. 18:49

 

 

이미지, 동영상, 음악파일 화면에 보여주기

 

 

Image.open() : 저장되어있는 이미지 파일 가져오기

st.image()       : 이미지파일 화면에 보여주기
  # width, use_container_width를 사용해 크기조절 가능
 예) st.image(변수명, 'rb')

open()             : 동영상, 음악파일 가져오기
  # 두번째 파라미터에 'rb' (바이너리 파일 읽기) 를 꼭 입력해줘야 함

st.video()        : 동영상 파일 화면에 보여주기

st.audio()        : 음악파일 화면에 보여주기
  # format을 지정해줘야 함
 예) st.audio(변수명, format='audio/mp3')

 

 

비쥬얼스튜디오코드 실행!

작업하고있던 파일이 있다면 이전에 깃허브데스크탑에서 바로 열 수 있게 작업을 해놓았기 때문에

깃허브데스크탑에서 바로 열어도 된다.

https://juunghee.tistory.com/42

링크 참고!

 

 

app4.py 파일 생성

작업을 하기 전에, 웹화면에 보여주기 위한 streamlit(스트림릿) 라이브러리와

main 함수 세팅!

 

import streamlit as st

def main() : 
    pass      # 형식만 갖추고 아무것도 실행하지 않겠다는 의미

if __name__ == '__main__' :   # 스트림릿 앱을 실행할 때, main() 함수를 실행하겠다는 의미
    main()

 

 

1. 저장되어있는 이미지파일을 화면에 보여주기

이미지 처리를 위한 라이브러리

# PIL(파이썬이미지라이브러리)
from PIL import Image

 

이전에 이미지가 들어있는 폴더를 가져왔었다.

먼저 이미지 파일을 가져오기 위해 Image.open 함수를 이용해 가져와서 img라는 변수에 저장

img = Image.open('./data/image_03.jpg')

 

가져온 이미지파일을 화면에 보여주자.

웹화면에 보여줘야하기 때문에 st. 해주고 , 스트림릿에 image라는 함수가 있다.

img = Image.open('./data/image_03.jpg')
    st.image(img)

 

터미널 열어서 스트림릿 실행!

 

width= 해서 크기 조절할 수도 있고

use_container_width=True 해서 전체 너비와 일정하도록 설정할 수 있다.

st.image(img, width=500)
st.image(img, use_container_width=True)

 

 

 

 

2. 인터넷상에 있는 이미지를 화면에 표시하는 방법

 

우리가 가지고 있는 이미지를 가져오지 않고, 인터넷에 있는 이미지를 저장해서 화면에 표시할 수도 있다.

구글에 사과를 검색해서 이미지 주소 복사 후 url 이라는 변수에 링크를 저장하고

동일하게 st.image() 함수를 사용하면 된다.

url = '이미지 주소 링크 붙여넣기'
st.image(url, width=500)

다시 저장하고 웹페이지를 보면 이미지가 화면에 표시된다.

 

 

3. 동영상을 화면에 보여주는 방법

st.video() 함수를 사용.

먼저 data 폴더에서 비디오 파일을 가져오자.

-> open() 함수를 사용해준다.

첫번째 파라미터에는 비디오파일이 있는 폴더 경로, 두번째 파라미터에 'rb' 를 입력해준다.

 # rb는 바이너리 파일 읽기 라는 뜻이다. 꼭 입력해줘야 함.

 # 일반 텍스트 파일이 아니라는 뜻

video_file = open('./data/video1.mp4', 'rb')

video_file 이라는 변수에 비디오 파일을 저장해줬고

st.video() 함수 안에 넣어주고 저장해서 다시 웹페이지로 가보면 동영상이 화면에 표시 된다.

st.video(video_file)

 

 

 

4. 음악파일을 화면에 보여주는 방법

동영상을 가져올 때와 동일하게 open('음악파일', 'rb') 로 파일을 가져온다.

st.audio() 함수 사용 (format을 지정해줘야 함.)

-> 예) st.audio(음악파일을 저장한 변수, format='audio/mp3')

 

sound_file = open('./data/song.mp3', 'rb'# 일반 텍스트 파일이 아니라는 뜻
    st.audio(sound_file, format='audio/mp3'# format을 지정해주어야 함

 

 

 

 

.

.

.

home