FOSIP_10_ImageCompression
FOSIP_10_ImageCompression
Class: TE Comps A
Experiment 10
INTRODUCTION: This paper proposes using the Gzip algorithm for image and document compression,
which combines Lz77 and Huffman techniques. Compression and decompression are
vital in document management and communication systems. Image compression,
particularly, is advantageous in digital image processing. The goal is to reduce
redundancy in images and documents to efficiently store or transmit data. This
approach conserves hardware space and bandwidth. In our proposed system, we
achieve reduced data size without quality loss.
BLOCK
DIAGRAM:
Block Diagram
IMPLEMENTATION: from PIL import Image
import os
import numpy as np
import matplotlib.pyplot as plt
def compress_image(input_image_path,
compressed_image_path, quality=80):
original_image = Image.open(input_image_path)
original_size = os.path.getsize(input_image_path)
original_image.save(compressed_image_path, 'JPEG',
quality=quality, optimize=True)
compressed_size =
os.path.getsize(compressed_image_path)
def calculate_metrics(original_image_path,
compressed_image_path):
original_image =
Image.open(original_image_path).convert('RGB')
compressed_image =
Image.open(compressed_image_path).convert('RGB')
original_array = np.array(original_image)
compressed_array = np.array(compressed_image)
mse = np.mean((original_array - compressed_array) **
2)
max_pixel = 255.0
psnr = 20 * np.log10(max_pixel / np.sqrt(mse)) if mse
!= 0 else float('inf')
original_size = os.path.getsize(original_image_path)
compressed_size =
os.path.getsize(compressed_image_path)
bpp_original = (original_size * 8) /
(original_image.size[0] * original_image.size[1])
bpp_compressed = (compressed_size * 8) /
(compressed_image.size[0] * compressed_image.size[1])
axes[1].imshow(compressed_img)
axes[1].set_title('Compressed')
axes[1].axis('off')
plt.suptitle(title)
plt.tight_layout()
plt.show()
compressed_path = f'outputs/compressed_{img}'
display_images(img, compressed_path,
title=f'Comparison for {img}')
OUTPUT:
REFERENCE: K. Anand, M. Priyadharshini and K. Priyadharshini, "Compression And
Decompression Of Files Without Loss Of Quality," 2023 International Conference on
Networking and Communications (ICNWC), Chennai, India, 2023, pp. 1-6, doi:
10.1109/ICNWC57852.2023.10127236. keywords: {Image quality;Image
coding;Communication systems;Digital images;Redundancy;Data
compression;Bandwidth;Lz77;Gzip;Hybrid algorithm},
https://ieeexplore.ieee.org/document/10127236
CONCLUSION:
The proposed Gzip algorithm, integrating LZ77 and Huffman coding, efficiently compresses and decompresses
images and documents without sacrificing quality. It reduces data redundancy, conserves space, boosts
bandwidth, and maintains file integrity, offering a practical solution for compression and decompression needs.