Image compression using REIS-SVD with evaluation metrics like MSE, PSNR, and SSIM.
Project description
reissvd_imgcompress
A Python package for image compression using the REIS-SVD algorithm. This package helps in reducing the size of images while preserving quality, and also provides various metrics for evaluating compression quality, including MSE, PSNR, and SSIM.
Update
- Remove the limitation on k: The code allows k to exceed the total number of singular values and sets k to the maximum available value if necessary to avoid errors.
- Improve the precision of the Sylvester equation: Increase
max_iterto 50 iterations and reducetolto 1e-6, which allows for a more accurate solution of the equation.
Features
- Compress grayscale images using REIS-SVD.
- Compute compression metrics:
- Compression Ratio (CR)
- Mean Squared Error (MSE)
- Peak Signal-to-Noise Ratio (PSNR)
- Structural Similarity Index (SSIM)
- Visualize compressed images with different singular values.
Installation
To install the package, first clone the repository or download the code, then navigate to the package directory and run:
pip install .
Usage
from reissvd_imgcompress import (
rgb2gray, reis_svd, compute_metrics, plot_compressed_images
)
import numpy as np
from PIL import Image
# Load an image and convert it to grayscale
image = np.array(Image.open('sample_image.png'))
gray_image = rgb2gray(image) # If grayscale conversion is not needed, you can skip this step.
# Define singular value counts for testing
k_values = [1, 2, 5, 10, 20, 50, 100, 200, 500]
# Iterate over k_values, compress images, and compute metrics
for k in k_values:
compressed = reis_svd(gray_image, k)
CR, mse, psnr, ssim_index = compute_metrics(gray_image, compressed, k)
print(f"k={k}: CR={CR:.2f}, MSE={mse:.2f}, PSNR={psnr:.2f} dB, SSIM={ssim_index:.4f}")
# Plot compressed images for visual comparison
plot_compressed_images(gray_image, k_values)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for reissvd_imgcompress-0.2.0.tar.gz
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 | 1b9ffdf47b099a3866a960c16a4697e5a6738232aa778142b35604ce954022ce |
|
| MD5 | 4d08d70b7820e49bf38653ec5eee47ee |
|
| BLAKE2b-256 | ebd12de8b5443d1cd54c5e7699831f2de52f845af5f06814ba6aeaf8c66fbf31 |
Close
Hashes for reissvd_imgcompress-0.2.0-py3-none-any.whl
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 | 1941990c085e7e47071dfae7ebe49ca5c2a9b852f41c79cd31cfd0794c084ae2 |
|
| MD5 | 8619ec4fe804c9077f39b5e62df51e9d |
|
| BLAKE2b-256 | 9fb5d6479541ced12ea0182a00a211cfbafaf0d5865e745dcf80b183d8143691 |