Harika22 commited on
Commit
9135c60
Β·
verified Β·
1 Parent(s): d6f17ae

Update pages/7_Unstructured_data.py

Browse files
Files changed (1) hide show
  1. pages/7_Unstructured_data.py +41 -0
pages/7_Unstructured_data.py CHANGED
@@ -808,3 +808,44 @@ if file_type == "VIDEO":
808
  if st.button("GitHub Link πŸ”— (Video)"):
809
  st.write("**GitHub Repository:** [Provide your GitHub link here]")
810
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
808
  if st.button("GitHub Link πŸ”— (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')