按照质量逐步打包图像的算法
创始人
2024-08-26 07:30:15
0
import cv2
import numpy as np

def pack_images(image_paths, quality_levels):
    '''将多张图片按照逐步减小的质量打包到一个数组中'''
    images = []

    # 读取图片并加入到列表中
    for path in image_paths:
        image = cv2.imread(path)
        images.append(image)

    # 将图像数组转换为字节串数组
    image_bytes = []
    for img in images:
        _, encoded_img = cv2.imencode('.jpg', img)
        image_bytes.append(encoded_img)

    # 打包图像并逐步降低质量
    packed_image = image_bytes[0]
    for i in range(1, len(image_bytes)):
        packed_image = np.concatenate([packed_image, image_bytes[i]])

        if i in quality_levels:
            _, packed_image = cv2.imdecode(packed_image, cv2.IMREAD_UNCHANGED)
            _, encoded_packed_image = cv2.imencode('.jpg', packed_image, [cv2.IMWRITE_JPEG_QUALITY, 90 - i * 10])
            packed_image = encoded_packed_image

    # 最后一次解码
    _, packed_image = cv2.imdecode(packed_image, cv2.IMREAD_UNCHANGED)

    return packed_image

示例用法:

image_paths = ['img1.jpg', 'img2.jpg', 'img3.jpg']
quality_levels = [1, 2, 3]

packed_image = pack_images(image_paths, quality_levels)

# 保存打包后的图像
with open('packed_image.jpg', 'wb') as f:
    f.write(packed_image)

此函数将读取传递的图像路径数组并将它们打包成一个字节数组。逐步降低图像的质量,以使结果文件更小。返回的是打包后的图像字节串数组。

相关内容

热门资讯

玩家必看攻略!鱼扑克辅助(透视... 玩家必看攻略!鱼扑克辅助(透视)竟然是真的有挂(详细教程)(有挂规律)-哔哩哔哩;鱼扑克辅助是一种具...
透明工具!德扑ai代打,fis... 透明工具!德扑ai代打,fishpoker软件辅助,确实是真的有挂(有挂攻略)-哔哩哔哩;fishp...
透视辅助(pokermaste... 透视辅助(pokermaster是有外挂)软件透明挂(辅助挂)确实真的有挂(有挂教程)-哔哩哔哩;值...
必备科技!红龙扑克是有问题(透... 1、必备科技!红龙扑克是有问题(透视)其实是真的有挂(详细教程)(有挂透明)-哔哩哔哩2、进入游戏-...
透视数据!德扑ai决策软件,p... 透视数据!德扑ai决策软件,pokerrrr2俱乐部,的确是真的有挂(有挂方法)-哔哩哔哩,支持语音...
透明肯定!来玩德州app苹果下... 透明肯定!来玩德州app苹果下载(透视)竟然真的有挂(详细教程)(有挂规律)-哔哩哔哩是一款可以让一...
总算了解!德扑之星设置埋牌(辅... 总算了解!德扑之星设置埋牌(辅助挂)原来真的有挂(详细教程)(有挂教程)-哔哩哔哩1、玩家可以在德扑...
透视app(EV扑克辅助软件)... 《透视app(EV扑克辅助软件)辅助透视(辅助挂)果真真的有挂(有挂透明)-哔哩哔哩》 EV扑克辅助...
推荐十款!德扑计算软件(透视)... 推荐十款!德扑计算软件(透视)的确是真的有挂(详细教程)(有挂教程)-哔哩哔哩;亲真的是有正版授权,...
教程攻略!德州之星app有外挂... 教程攻略!德州之星app有外挂,德扑牌型胜率计算,原来真的有挂(有挂教程)-哔哩哔哩;人气非常高,a...