Tugas Besar 2 IF2123 Aljabar Liner dan Geometri
- General Info
- Technologies Used
- Screenshots
- Setup
- Usage
- Project Status
- Room for Improvement
- Acknowledgements
- Contact
- Image Compressor that uses SVD Algorithm
- Tech 1 - Flask
- Tech 2 - HTML
- Tech 3 - CSS
- Tech 4 - Javascript
- For Backend
python required
pip install -r requirements.txt #for python 2
pip3 install -r requirements.txt #for python 3
- For FE
javascript required
- For frontend we used HTML input to make POST request to Backend
<form method="post" action="/" enctype="multipart/form-data" id = "main-form" onsubmit= "resultShow()">
Insert image compression rate:
<input id="compressionRate" type='number' name="compressionRate" min="0"
max="100" required> %
<div class="file-input">
<input type="file" id="image-file" class="image-file" name='image-file' accept="image/*"required> <br>
</div>
<input type="submit" value="Compress Image" id="compressButton">
</form>
- For backend we uses Flask to manage FE and BE-Algorithm
@app.route('/', methods=['POST'])
def uploadImage():
imageFile = request.files['image-file']
compressionRate = request.form['compressionRate']
image = Image.open(imageFile)
data = io.BytesIO()
image.save(data,"PNG")
encodedImageBefore = base64.b64encode(data.getvalue())
encodedImageAfter, cTime, pixelDiff = main(imageFile, int(compressionRate)/100)
return render_template('result.html', imageBefore = encodedImageBefore.decode('utf-8'),imageAfter = encodedImageAfter.decode('utf-8'), pixelPercentage = pixelDiff, compressionTime = cTime)
Project is: complete
Room for improvement:
- Improve Algorithm to made the compress run faster
- Improve FE to show before and after image using slider
- Thanks to Allah SWT
- Thanks to Mr. Rinaldi Munir, Mr. Jodhi, and Mr. Rila as our Lecturers
- Thanks to academic assistants
- This project was created to fulfill our Big Project for IF2123 Linear and Geometric Algebra
Created by LUCKY SWANDI. 2021 All rights reserved