Python压缩图片

部署运行你感兴趣的模型镜像
	
	resp = urllib.request.urlopen(imgurl)
	image = np.asarray(bytearray(resp.read()), dtype="uint8")
	image = cv.imdecode(image, cv.IMREAD_COLOR)

	#双三次插值
	height,width = image.shape[:2]  #获取原图像的水平方向尺寸和垂直方向尺寸。
	res = cv.resize(image,(int(0.3*width),int(0.3*height)),interpolation=cv.INTER_AREA)

	imge = Image.fromarray(cv.cvtColor(res,cv.COLOR_BGR2RGB))
	# 创建滤波器,使用不同的卷积核
	gary2 = imge.filter(ImageFilter.DETAIL)

	#图像点运算
	gary3=gary2.point(lambda i:i*0.9)

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

使用Python压缩图片可以通过不同的方法实现,以下为几种常见的方式: ### 使用Pillow库批量压缩图片 可以按照安装Pillow库、导入所需的模块、定义压缩单个图片的函数、遍历文件夹中的所有图片文件、对每个图片文件调用压缩函数、保存压缩后的图片的流程进行操作[^1]。 ### 压缩图片至指定大小 ```python import os from PIL import Image from PIL import ImageFile # 压缩图片文件 def compress_image(outfile, mb=1024, quality=85, k=0.9): # 通常你只需要修改mb大小 """不改变图片尺寸压缩到指定大小 :param outfile: 压缩文件保存地址 :param mb: 压缩目标,KB :param k: 每次调整的压缩比率 :param quality: 初始压缩比率 :return: 压缩文件地址,压缩文件大小 """ o_size = os.path.getsize(outfile) // 1024 # 函数返回为字节,除1024转为kb(1kb = 1024 bit) print('before_size:{} after_size:{}'.format(o_size, mb)) if o_size <= mb: return outfile ImageFile.LOAD_TRUNCATED_IMAGES = True # 防止图像被截断而报错 while o_size > mb: im = Image.open(outfile) x, y = im.size out = im.resize((int(x * k), int(y * k)), Image.ANTIALIAS) # 最后一个参数设置可以提高图片转换后的质量 try: out.save(outfile, quality=quality) # quality为保存的质量,从1(最差)到95(最好),此时为85 except Exception as e: print(e) break o_size = os.path.getsize(outfile) // 1024 return outfile # 压缩单张图片 outfile = r"C:\Users\JSSLRKS\Desktop\1.png" # 单张图片地址 compress_image(outfile) ``` 以上代码可以将图片压缩至指定大小,不改变图片尺寸[^3]。 ### 压缩图片大小 ```python from PIL import Image def compress_image(input_path, output_path, quality=85, max_size=None): """ 压缩图片大小。 参数: - input_path: 输入图片路径 - output_path: 输出图片路径 - quality: 图片质量 (1-100),数越低质量越差但文件越小,默认为85 - max_size: 最大尺寸 (宽度, 高度),如果图片超过此尺寸会自动缩小,默认为None """ try: # 打开图片 img = Image.open(input_path) # 如果指定了最大尺寸,则调整图片大小 if max_size: img.thumbnail(max_size, Image.Resampling.LANCZOS) # 使用 LANCZOS 滤镜 # 保存压缩后的图片 img.save(output_path, optimize=True, quality=quality) print(f"图片已成功压缩并保存到 {output_path}") except Exception as e: print(f"处理图片时出错: {e}") if __name__ == "__main__": # 示例用法 input_image = r"C:\Users\PC\Desktop\temp\微信图片_20250329195632.jpg" # 输入图片路径 output_image = r"C:\Users\PC\Desktop\temp\反面.jpg" # 输出图片路径 # 设置压缩参数 compress_quality = 75 # 质量设置为75(可以根据需要调整) max_dimensions = (1024, 1024) # 最大尺寸设置为1024x1024像素(可选) # 调用函数压缩图片 compress_image(input_image, output_image, quality=compress_quality, max_size=max_dimensions) ``` 上述代码可以根据指定的质量和最大尺寸对图片进行压缩[^4]。 ### 使用Python图片压缩工具 有一个使用Python编写的具备图形用户界面(GUI)的图片压缩工具,该工具支持JPEG、PNG、BMP和GIF等常见图片格式,可自定义压缩级别,默认50%,默认保存在同目录,也可选保存目录。使用时直接双击下载的单文件应用程序即可启动程序,无需进行任何安装步骤。具体使用步骤包括选择图片、预览图片、设置压缩级别、选择保存位置、压缩图片和查看结果等[^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值