Aryan-EcoClim commited on
Commit
3d1213b
·
1 Parent(s): 1038417

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -58
app.py CHANGED
@@ -26,82 +26,30 @@ st.markdown('''
26
  </div>
27
  ''', unsafe_allow_html=True)
28
 
29
- # Function to take a photo using the webcam
30
- def take_photo(filename='photo.jpg', quality=
31
- 0.8):
32
- js = Javascript('''
33
- async function takePhoto(quality) {
34
- const div = document.createElement('div');
35
- const capture = document.createElement('button');
36
- capture.textContent = 'Capture';
37
- div.appendChild(capture);
38
-
39
- const video = document.createElement('video');
40
- video.style.display = 'block';
41
- const stream = await navigator.mediaDevices.getUserMedia({ video: true });
42
-
43
- document.body.appendChild(div);
44
- div.appendChild(video);
45
- video.srcObject = stream;
46
- await video.play();
47
-
48
- // Resize the output to fit the video element.
49
- google.colab.output.setIframeHeight(document.documentElement.scrollHeight, true);
50
-
51
- // Wait for Capture to be clicked.
52
- await new Promise((resolve) => capture.onclick = resolve);
53
-
54
- const canvas = document.createElement('canvas');
55
- canvas.width = video.videoWidth;
56
- canvas.height = video.videoHeight;
57
- canvas.getContext('2d').drawImage(video, 0, 0);
58
- stream.getVideoTracks()[0].stop();
59
- div.remove();
60
- return canvas.toDataURL('image/jpeg', quality);
61
- }
62
- ''')
63
- display(js)
64
- data = eval_js('takePhoto({})'.format(quality))
65
- binary = b64decode(data.split(',')[1])
66
- with open(filename, 'wb') as f:
67
- f.write(binary)
68
- return filename
69
-
70
-
71
- opt = st.selectbox("How do you want to upload the image for classification?",
72
- ('Please Select', 'Upload image via link', 'Upload image from device', 'Capture a picture'))
73
-
74
- # Image processing based on user selection
75
  image = None
76
  if opt == 'Upload image from device':
77
  file = st.file_uploader('Select', type=['jpg', 'png', 'jpeg'])
78
  if file:
79
- try:
80
- image = cv2.imread(file)
81
- image = cv2.resize(image, (256, 256))
82
- except Exception as e:
83
- st.error(f"Error reading the file: {e}")
84
 
85
  elif opt == 'Upload image via link':
86
  img_url = st.text_input('Enter the Image Address')
87
  if st.button('Submit'):
88
  try:
89
  response = urllib.request.urlopen(img_url)
90
- image = cv2.imread(io.BytesIO(response.read()))
91
- image = cv2.resize(image, (256, 256))
92
  except ValueError:
93
  st.error("Please Enter a valid Image Address!")
94
 
95
- elif opt == 'Capture a picture':
96
- take_photo()
97
 
98
  try:
99
  if image is not None:
100
  st.image(image, width=256, caption='Uploaded Image')
101
  if st.button('Predict'):
102
- img = preprocess(image)
103
- #model = model_arc()
104
- # model.load_weights("classify_model.h5")
105
 
106
  print("---------------img-array---------------------")
107
  print(img[np.newaxis, ...])
 
26
  </div>
27
  ''', unsafe_allow_html=True)
28
 
29
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  image = None
31
  if opt == 'Upload image from device':
32
  file = st.file_uploader('Select', type=['jpg', 'png', 'jpeg'])
33
  if file:
34
+ image = preprocess_image(file)
35
+
 
 
 
36
 
37
  elif opt == 'Upload image via link':
38
  img_url = st.text_input('Enter the Image Address')
39
  if st.button('Submit'):
40
  try:
41
  response = urllib.request.urlopen(img_url)
42
+ image = preprocess_image(response)
 
43
  except ValueError:
44
  st.error("Please Enter a valid Image Address!")
45
 
46
+
 
47
 
48
  try:
49
  if image is not None:
50
  st.image(image, width=256, caption='Uploaded Image')
51
  if st.button('Predict'):
52
+
 
 
53
 
54
  print("---------------img-array---------------------")
55
  print(img[np.newaxis, ...])