小编J. *_*Mac的帖子

C# 和 Python 中的 JPEG 压缩差异

我将一些图像处理功能从 .NET 迁移到 Python,但条件是输出图像必须以与 .NET 中完全相同的方式进行压缩。但是,当我在文本比较.jpg等工具上比较输出文件时和 choice 等Ignore nothing时,发现文件的压缩方式存在显着差异。

例如:

Python

bmp = PIL.Image.open('marbles.bmp')

bmp.save(
    'output_python.jpg',
    format='jpeg',
    dpi=(300,300),
    subsampling=2,
    quality=75
)
Run Code Online (Sandbox Code Playgroud)

。网

ImageCodecInfo jgpEncoder = ImageCodecInfo.GetImageDecoders().First(codec => codec.FormatID == ImageFormat.Jpeg.Guid);
EncoderParameters myEncoderParameters = new EncoderParameters(1);
myEncoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, 75L);

Bitmap bmp = new Bitmap(directory + "marbles.bmp");

bmp.Save(directory + "output_net.jpg", jgpEncoder, myEncoderParameters);
Run Code Online (Sandbox Code Playgroud)

exiftool output_python.jpg -a -G1 -w txt

[ExifTool]      ExifTool Version Number         : 12.31
[System]        File Name                       : output_python.jpg
[System]        Directory                       : .
[System] …
Run Code Online (Sandbox Code Playgroud)

c# python compression jpeg image

6
推荐指数
1
解决办法
837
查看次数

标签 统计

c# ×1

compression ×1

image ×1

jpeg ×1

python ×1