Harika22 commited on
Commit
6ad52ee
·
verified ·
1 Parent(s): cfc5d4a

Update pages/7_Unstructured_data.py

Browse files
Files changed (1) hide show
  1. pages/7_Unstructured_data.py +38 -39
pages/7_Unstructured_data.py CHANGED
@@ -809,43 +809,42 @@ if file_type == "VIDEO":
809
  st.write("**GitHub Repository:** [Provide your GitHub link here]")
810
 
811
 
812
-
813
- import streamlit as st
814
- from PIL import Image
815
- import numpy as np
816
-
817
- def upload():
818
- st.title('Image Transformation Tool')
819
- uploaded_file = st.file_uploader("Upload an image", type=['jpg', 'png', 'jpeg'])
820
 
821
- if uploaded_file is not None:
822
- img = Image.open(uploaded_file)
823
- st.image(img, caption='Uploaded Image', use_container_width=True)
824
-
825
- option = st.selectbox('Choose a transformation:', ['None', 'Scale', 'Translate', 'Rotate', 'Shear', 'Slice'])
826
-
827
- if option == 'Scale':
828
- scale_factor = st.slider('Select Scale Factor',0.1, 3.0, 1.0, key='scale_factor')
829
- img = img.resize((int(img.width * scale_factor), int(img.height * scale_factor)))
830
- elif option == 'Translate':
831
- x_offset = st.slider('X Offset', -100, 100, 0, key='x_offset')
832
- y_offset = st.slider('Y Offset', -100, 100, 0, key='y_offset')
833
- translated_img = Image.new('RGBA', (img.width + abs(x_offset), img.height + abs(y_offset)), (255, 255, 255, 0))
834
- translated_img.paste(img, (max(x_offset, 0), max(y_offset, 0)))
835
- img = translated_img
836
- elif option == 'Rotate':
837
- angle = st.slider('Select Rotation Angle', 0, 360, 0, key='rotation_angle')
838
- img = img.rotate(angle, expand=True)
839
- elif option == 'Shear':
840
- shear_factor = st.slider('Select Shear Factor', -1.0, 1.0, 0.0, key='shear_factor')
841
- matrix = (1, shear_factor, 0, shear_factor, 1, 0)
842
- img = img.transform(img.size, Image.AFFINE, matrix)
843
- elif option == 'Slice':
844
- left = st.slider('Left', 0, img.width, 0, key='slice_left')
845
- upper = st.slider('Upper', 0, img.height, 0, key='slice_upper')
846
- right = st.slider('Right', left, img.width, img.width, key='slice_right')
847
- lower = st.slider('Lower', upper, img.height, img.height, key='slice_lower')
848
- img = img.crop((left, upper, right, lower))
849
-
850
- st.image(img, caption=f'{option} Image', use_container_width=True)
851
- st.download_button('Download Transformed Image', img.tobytes(), file_name='transformed_image.png', mime='image/png')
 
 
 
 
 
809
  st.write("**GitHub Repository:** [Provide your GitHub link here]")
810
 
811
 
812
+ def upload():
813
+ st.title('Image Transformation Tool')
814
+ uploaded_file = st.file_uploader("Upload an image", type=['jpg', 'png', 'jpeg'])
 
 
 
 
 
815
 
816
+ if uploaded_file is not None:
817
+ img = Image.open(uploaded_file)
818
+ st.image(img, caption='Uploaded Image', use_container_width=True)
819
+
820
+ option = st.selectbox('Choose a transformation:', ['None', 'Scale', 'Translate', 'Rotate', 'Shear', 'Slice'])
821
+
822
+ if option == 'Scale':
823
+ scale_factor = st.slider('Select Scale Factor',0.1, 3.0, 1.0, key='scale_factor')
824
+ img = img.resize((int(img.width * scale_factor), int(img.height * scale_factor)))
825
+ elif option == 'Translate':
826
+ x_offset = st.slider('X Offset', -100, 100, 0, key='x_offset')
827
+ y_offset = st.slider('Y Offset', -100, 100, 0, key='y_offset')
828
+ translated_img = Image.new('RGBA', (img.width + abs(x_offset), img.height + abs(y_offset)), (255, 255, 255, 0))
829
+ translated_img.paste(img, (max(x_offset, 0), max(y_offset, 0)))
830
+ img = translated_img
831
+ elif option == 'Rotate':
832
+ angle = st.slider('Select Rotation Angle', 0, 360, 0, key='rotation_angle')
833
+ img = img.rotate(angle, expand=True)
834
+ elif option == 'Shear':
835
+ shear_factor = st.slider('Select Shear Factor', -1.0, 1.0, 0.0, key='shear_factor')
836
+ matrix = (1, shear_factor, 0, shear_factor, 1, 0)
837
+ img = img.transform(img.size, Image.AFFINE, matrix)
838
+ elif option == 'Slice':
839
+ left = st.slider('Left', 0, img.width, 0, key='slice_left')
840
+ upper = st.slider('Upper', 0, img.height, 0, key='slice_upper')
841
+ right = st.slider('Right', left, img.width, img.width, key='slice_right')
842
+ lower = st.slider('Lower', upper, img.height, img.height, key='slice_lower')
843
+ img = img.crop((left, upper, right, lower))
844
+
845
+ st.image(img, caption=f'{option} Image', use_container_width=True)
846
+ st.download_button('Download Transformed Image', img.tobytes(), file_name='transformed_image.png', mime='image/png')
847
+
848
+
849
+
850
+