Repository navigation
Expand file tree
/
Copy pathimageinsightv2.py
More file actions
76 lines (48 loc) · 1.82 KB
/
Copy pathimageinsightv2.py
File metadata and controls
76 lines (48 loc) · 1.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
from telegram.ext import Updater, filters, CommandHandler, MessageHandler
import cv2
from tensorflow.keras.applications.resnet50 import ResNet50
import numpy as np
from labels import lbl
import os
from datetime import datetime
import pyfiglet
from pyfiglet import Figlet
f = Figlet(font='slant')
def print_figlet(text):
print(f.renderText(text))
print_figlet('Hello, Mr Mokkarala !')
model = ResNet50()
def start(updater, context):
updater.message.reply_text("Welcome to the classification bot!")
def help_(updater, context):
updater.message.reply_text("Just send the image you want to classify.")
def message(updater, context):
msg = updater.message.text
print(msg)
updater.message.reply_text(msg)
def image(updater, context):
# Create a folder to store images if it doesn't exist
if not os.path.exists("User_data"):
os.makedirs("User_data")
photo = updater.message.photo[-1].get_file()
photo_path = os.path.join("User_data", "img.jpg") # Save the image in the folder
photo.download(photo_path)
img = cv2.imread(photo_path)
img = cv2.resize(img, (224, 224))
img = np.reshape(img, (1, 224, 224, 3))
pred = np.argmax(model.predict(img))
pred = lbl[pred]
print(pred)
updater.message.reply_text(pred)
# Move the saved image to a new unique filename with a timestamp
timestamp = datetime.now().strftime("%Y%m%d%H%M%S")
new_photo_path = os.path.join("User_data", f"img_{timestamp}.jpg")
os.rename(photo_path, new_photo_path)
updater = Updater("yourcode")
dispatcher = updater.dispatcher
dispatcher.add_handler(CommandHandler("start", start))
dispatcher.add_handler(CommandHandler("help", help_))
dispatcher.add_handler(MessageHandler(filters.text, message))
dispatcher.add_handler(MessageHandler(filters.photo, image))
updater.start_polling()
updater.idle()