一日一技:用Python实现找到图像的大小(分辨率)




用Python来实现图像的大小(分辨率)



在这节中,我们来学习如何实现jpeg图像的分辨率,不需使用python的模块

不过,要理解下面的示例,您应该了解以下Python编程主题:


  • Python函数
  • Python用户定义函数
  • Python文件I / O


JPEG(发音为“ jay-peg”)代表联合图像专家组。 它是用于图像压缩的最广泛使用的压缩技术之一。

大多数文件格式都有标头(头几个字节),这些标头包含有关文件的有用信息。

例如,jpeg标头包含高度,宽度,颜色数(灰度或RGB)等信息。在此程序中,我们无需使用任何外部库即可找到读取这些标头的jpeg图像的分辨率。




下面是JPEG图像查找分辨率的源代码:

def jpeg_res(filename):

   """"This function prints the resolution of the jpeg image file passed into it"""

   with open(filename,'rb') as img_file:

       img_file.seek(163)

       a = img_file.read(2)

       height = (a[0] << 8) + a[1]

       a = img_file.read(2)

       width = (a[0] << 8) + a[1]

   print("The resolution of the image is",width,"x",height)

jpeg_res("img1.jpg")


输出:

The resolution of the image is 280 x 280




在上面的程序中,我们以二进制模式打开了图像。 非文本文件必须在此模式下打开。 图像的高度在第164位,然后是图像的宽度。 两者均为2个字节长。

请注意,这仅适用于JPEG文件交换格式(JFIF)标准。 如果图像是使用其他标准(例如EXIF)编码的,则该代码将不起作用。

我们使用按位移位运算符<<将2个字节转换为数字。 最后,显示分辨率。



希望这篇文章对你们有用,

欢迎在下方讨论留言,

谢谢关注.

相关文章

Python脚本批量处理图片,缩放裁剪压缩到指定大小

本文将介绍如何使用Python编写脚本批量处理图片。我们将使用Pillow库来缩放、裁剪和压缩图片,并使用MD5哈希值来重命名输出文件。通过本文的学习,您将学习如何使用Python快速自动化处理大量图...

老爸电脑上有个加密压缩包,我用Python给解开了

老爸说他有个照片文件夹打不开了,让我过去看看,一瞅,好家伙,加密压缩包尘封老照片呀。既然加密,没准还有意外收货。作为一个“精灵鬼”,这么有价值的数据,我必须帮老爸解开呀。寻找思路解密压缩包的思路是什么...

我做了个 AI 神器,模糊图片变清晰,4倍无损放大,极简且好用

乔布斯说得对,用户不需要你给出几百个选择,而是需要一个对的选择。极简不是一种美学,而是产品设计的最高境界。一,找图难图片,是社交媒体最重要的内容类型之一。不过因为服务器负载,以及高昂的带宽成本,开发者...

Opencv-python之图像的缩放

函数:cv2.resize() 说明:缩放就是改变图片的大小,这个函数改变图片的长和宽,或者按一定比例进行变化。简单例子:代码如下:import cv2 #导入图片 img = cv2.imread(...

Python一种字符串压缩表示的解压

def decompress_q(s): i = 0 n = len(s) decompressed = [] while i < n:...