Find Size of Image in Python

To Find Size of Image in Python, you can use libraries like Pillow and OpenCV that make it easy to access image dimensions. Knowing an image’s size is crucial in many applications, including resizing in image processing, validating input in machine learning, and organizing data in analysis workflows.

Prerequisites

To follow this guide, you should have a basic understanding of Python programming. It also helps to be familiar with image processing libraries such as Pillow (PIL) and OpenCV, as these tools offer simple and efficient methods for working with image data.

Python Program to Find the Size of Image Using PIL

# Python Program to Find the Size of Image Using PIL

#importing the module
import PIL
from PIL import Image
  
# loading the image
img = PIL.Image.open("img.png")
  
# fetching the dimensions
Width, height = img.size
  
# displaying the dimensions
print("the dimensions are :", str(width) + "x" + str(height))

Output:

the dimensions are :500x130

Python Program to Find the Size of Image Using OpenCV

# Python Program to Find the Size of Image Using OpenCV

# importing the module
import cv2
  
# loading the image
img = cv2.imread("geeksforgeeks.png")
  
# fetching the dimensions
w = img.shape[1]
h = img.shape[0]
  
# displaying the dimensions
print(“the dimensions are :”, str(w) + "x" + str(h))

Output:

the dimensions are :450x140

Python Program to Find the Size of Image

# Python Program to Find the Size of Image

def jpeg_res(filename):
   """"This function prints the resolution of the jpeg image file passed into it"""

   # open image for reading in binary mode
   with open(filename,'rb') as img_file:

       # height of image (in 2 bytes) is at 164th position
       img_file.seek(163)

       # read the 2 bytes
       a = img_file.read(2)

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

       # next 2 bytes is width
       a = img_file.read(2)

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

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

jpeg_res("img1.jpg")

Output:

The resolution of the image is 280 x 280

Comparative Analysis

MethodEase of UsePerformanceFlexibilityRecommended For
PillowEasyHighModerateSimple image size retrieval tasks
OpenCVModerateHighHighAdvanced image processing and automation

Recommendation:
Use Pillow if your goal is quick and simple access to an image’s dimensions without complex processing.
Use OpenCV when your project involves more advanced image manipulation, analysis, or needs to handle various formats and channels.

Best Practices

Efficient File Handling:
Use the with statement when opening image files to ensure they are properly closed after processing. This prevents memory leaks and file access errors.

Error Handling:
Wrap your image processing code in try-except blocks to catch issues such as file not found, unsupported image formats, or corrupted files. This ensures your program handles unexpected input gracefully.

Handling Different Image Formats:
Validate file types before processing. Libraries like Pillow and OpenCV support multiple formats, but checking the extension (e.g., .jpg, .png, .bmp) or using format-specific handling can prevent errors and ensure better compatibility.

Conclusion

In this guide, we covered two effective methods to find the size of an image in Python using the Pillow and OpenCV libraries. While Pillow is ideal for quick and simple image size retrieval, OpenCV is better suited for more complex and high-performance image processing tasks.

Choose the method that aligns best with your project’s requirements and coding style.
For more Python tutorials and practical coding guides, visit Newtum’s official website and explore a wide range of developer-friendly content.

About The Author

Leave a Reply