当前位置: 首页 > news >正文

【Opencv中的Jpeg有损压缩】

Opencv中的Jpeg有损压缩

import cv2
import numpy as np

def compress_and_decompress_image(image_path, quality=75):
    # 读取图像
    image = cv2.imread(image_path)
    if image is None:
        print("图像读取失败!")
        return None

    # 使用 imencode 函数进行 JPEG 编码
    success, encoded_image = cv2.imencode('.jpg', image, [int(cv2.IMWRITE_JPEG_QUALITY), quality])

    if not success:
        print("图像编码失败!")
        return None

    print(f"图像已成功编码为 JPEG 格式,压缩后的数据大小为: {len(encoded_image)} 字节")

    # 使用 imdecode 函数将编码后的数据解码为图像
    decoded_image = cv2.imdecode(encoded_image, cv2.IMREAD_COLOR)

    if decoded_image is None:
        print("图像解码失败!")
        return None

    print("图像已成功解码为正常格式。")

    return decoded_image

# 示例用法
image_path = 'test3.png'  # 替换为你的图像路径
decompressed_image = compress_and_decompress_image(image_path, quality=55)


# 显示原始图像和解码后的图像(仅作为示例)
if decompressed_image is not None:
    original_image = cv2.imread(image_path)  # 重新读取原始图像以进行比较
    cv2.imshow('Original Image', original_image)
    cv2.imshow('Decompressed Image', decompressed_image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()


# # 如果需要,可以将压缩后的数据写入到文件(仅作为示例,实际不需要保存)
# if compressed_data is not None:
#     with open('compressed_image.jpg', 'wb') as f:
#         f.write(compressed_data.tobytes())  # 实际上不需要这一步,仅用于演示

在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/a/75705.html

相关文章:

  • 功能强大的电脑硬件检测及驱动安装工具
  • 【计算机视觉】工业表计读数(3)--指针及刻度关键点识别
  • Spring Boot 事务详解
  • 滑动数组-定长滑动数组
  • SSH无法使用root用户进行登陆的解决方法
  • 【HarmonyOS Next】鸿蒙应用实现弹框DialogHub详解
  • Excel(函数进阶篇):Vlookup函数进阶、TAKE嵌套SORE函数、SUBTOTAL函数、INDIRECT函数
  • 华为全流程全要素研发项目管理(81页PPT)(文末有下载方式)
  • 蓝桥杯练习day1:拆分数位-四位数字的最小和
  • 【深度解析】48V转24V/5A宽压电源芯片:SOT23-5封装+外挂MOS管应用方案
  • rust学习笔记17-异常处理
  • 《心理学与生活》2025最新网课答案
  • Python的Pytest(2)
  • C语言 常用系统函数
  • 蓝桥云客 找素数
  • reconstruct_3d_object_model_for_matching例子
  • C# WPF编程-Menu
  • 戴尔系列电脑安装UBUNTU系统
  • MySQL事务:确保数据一致性的关键机制
  • fastapi+angular宠物领养系统
  • 基于Nvidia Jetson Nano边缘计算设备使用TensorRT部署YOLOv8模型实现目标检测推理
  • 基于Python+Ollama DeepSeek与MySQL进行数据分析探索
  • apache-maven-3.9.9 详细安装配置教程(2025版)
  • 贪心算法作业参考:P1106,P4995,P5019
  • 2000-2019年各省地方财政税收收入数据
  • 深入剖析React中setState的执行机制与实现原理
  • LeetCode算法题(Go语言实现)_04
  • 深入解析 GORM 的 Model 方法:隐式选择与模型绑定的艺术
  • 【安全运营】用户与实体行为分析(UEBA)浅析
  • 【从零开始学习计算机科学与技术】计算机网络(七)应用层