当前位置: 首页 > 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())  # 实际上不需要这一步,仅用于演示

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

相关文章:

  • 功能强大的电脑硬件检测及驱动安装工具
  • 【计算机视觉】工业表计读数(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宠物领养系统
  • 民间打拐志愿者上官正义遭人身安全威胁,杭州公安:已立案
  • 白玉兰奖征片综述丨海外剧创作趋势观察:跨界·融变·共生
  • 河南省委常委会会议:坚持以案为鉴,深刻汲取教训
  • 汤加附近海域发生6.4级地震
  • “典孝急乐批麻蚌赢”:互联网“八字真言”与当代赛博赢学
  • 日月谭天丨这轮中美关税会谈让台湾社会看清了什么?