Python程序搜索图像的大小(分辨率)
本示例说明如何在不使用外部库的情况下找到jpeg图像的分辨率
要理解此示例,必须了解以下Python编程主题:
JPEG (发音为Jay-peg )表示联合图像专家组。 这是图像压缩中应用最广泛的压缩技术之一。
大多数文件格式都有标头(前几个字节),其中包含有关文件的有用信息。
例如,jpeg标头包含高度、宽度和颜色数(灰度或RGB )等信息。 在此程序中,我们找到了读取这些标头的jpeg图像的分辨率,而不使用外部库。
JPEG图像搜索分辨率的源代码DEFJPEG_RES(filename ) :
“”此函数打印传递的jpeg图像文件的分辨率“”
#打开图像,以二进制模式读取
withopen(filename,' rb ' ) asimg_file:
#图像的高度(以2字节为单位)为第164位
img_file.seek(163 ) )。
读取#2字节
a=img_file.read(2) )。
#高度计算
height=(a[0]
#接下来的两个字节是宽度
a=img_file.read(2) )。
#计算幅度
width=(a[0]
print (图像分辨率为)、width、x )、height ) )。
JPEG_RES(img1.jpg ) )。
输出结果的图像分辨率为280x280
在这个程序中,我以二进制模式打开了图像。 除了文本文件以外,必须在此模式下打开。 图像的高度是第164位,然后是图像的宽度。 两个都是2字节长。
请注意,这仅适用于JPEG文件交换格式(JFIF )标准。 如果图像使用其他标准(如EXIF )编码,则代码不起作用。
使用位移运算符