Image Compression Tool Python, OpenCV

👤 Sharing: AI
```python
import cv2
import os
import argparse

def compress_image(image_path, output_path, quality=90):
    """
    Compresses an image using OpenCV.

    Args:
        image_path (str): Path to the input image.
        output_path (str): Path to save the compressed image.
        quality (int): Quality of the compressed image (0-100, higher is better).
    """
    try:
        img = cv2.imread(image_path)
        if img is None:
            raise ValueError(f"Could not read image at {image_path}")

        cv2.imwrite(output_path, img, [cv2.IMWRITE_JPEG_QUALITY, quality])
        print(f"Image compressed and saved to {output_path}")

    except Exception as e:
        print(f"Error compressing image: {e}")


def main():
    parser = argparse.ArgumentParser(description="Image Compression Tool using OpenCV")
    parser.add_argument("input_image", help="Path to the input image file")
    parser.add_argument("output_image", help="Path to save the compressed image")
    parser.add_argument("-q", "--quality", type=int, default=90,
                        help="Compression quality (0-100, default: 90)")

    args = parser.parse_args()

    compress_image(args.input_image, args.output_image, args.quality)


if __name__ == "__main__":
    main()
```
👁️ Viewed: 22

Comments