ake178178 commited on
Commit
2af3c11
·
verified ·
1 Parent(s): 17d85c1

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +54 -0
app.py ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from PIL import Image
3
+ import numpy as np
4
+ import io
5
+ import openai
6
+ import requests
7
+ from gtts import gTTS
8
+ import tempfile
9
+ import os
10
+
11
+ # 请将你的 OpenAI API 密钥放在这里
12
+ openai.api_key = 'your-openai-api-key'
13
+
14
+ # 功能一:拍照功能
15
+ st.title("拍照并处理图片")
16
+ picture = st.camera_input("拍照")
17
+
18
+ if picture:
19
+ # 功能二:将拍照后的照片分辨率设置成300x300像素
20
+ img = Image.open(picture)
21
+ img = img.resize((300, 300))
22
+ st.image(img, caption="Resized Image", use_column_width=True)
23
+
24
+ # 将图片保存到内存中
25
+ img_byte_arr = io.BytesIO()
26
+ img.save(img_byte_arr, format='PNG')
27
+ img_byte_arr = img_byte_arr.getvalue()
28
+
29
+ # 功能三:上传照片并生成文字结果
30
+ st.write("正在上传照片并生成文字结果...")
31
+
32
+ response = openai.Image.create(
33
+ image=img_byte_arr,
34
+ size="300x300"
35
+ )
36
+
37
+ generated_text = response['data']['text']
38
+ st.write("生成的文字结果:")
39
+ st.write(generated_text)
40
+
41
+ # 功能四:将文字转换为语音并播放
42
+ st.write("将文字转换为语音并播放")
43
+
44
+ tts = gTTS(text=generated_text, lang='zh')
45
+ temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".mp3")
46
+ tts.save(temp_file.name)
47
+
48
+ audio_file = open(temp_file.name, "rb")
49
+ audio_bytes = audio_file.read()
50
+
51
+ st.audio(audio_bytes, format='audio/mp3')
52
+
53
+ # 删除临时文件
54
+ os.remove(temp_file.name)