Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/opencv/opencv/llms.txt

Use this file to discover all available pages before exploring further.

This guide demonstrates the fundamental operations of reading images from disk, displaying them in windows, and saving them to files.

Overview

Image I/O is the foundation of computer vision applications. OpenCV provides simple functions to:
  • Read images from various formats (JPEG, PNG, BMP, etc.)
  • Display images in GUI windows
  • Save processed images to disk
  • Handle errors when files are not found

Basic Image Loading and Display

1

Read the image

Use imread() to load an image file. Always check if the image was loaded successfully.
2

Display the image

Use imshow() to display the image in a named window, followed by waitKey() to keep the window open.
3

Save the image (optional)

Use imwrite() to save the image to a file.

Complete Example

import cv2 as cv
import sys

# Read the image
img = cv.imread(cv.samples.findFile("starry_night.jpg"))

# Check if image was loaded successfully
if img is None:
    sys.exit("Could not read the image.")

# Display the image in a window
cv.imshow("Display window", img)
k = cv.waitKey(0)  # Wait for a keystroke

# Save image if 's' key is pressed
if k == ord("s"):
    cv.imwrite("starry_night.png", img)

Window Operations

OpenCV provides several functions to manage display windows:

Creating and Managing Windows

import cv2 as cv

# Create a named window with specific properties
cv.namedWindow("My Window", cv.WINDOW_NORMAL)

# Resize the window
cv.resizeWindow("My Window", 800, 600)

# Move the window to a specific position
cv.moveWindow("My Window", 100, 100)

# Display an image
img = cv.imread("image.jpg")
cv.imshow("My Window", img)
cv.waitKey(0)

# Destroy specific window
cv.destroyWindow("My Window")

# Or destroy all windows
cv.destroyAllWindows()

Image Reading Flags

The imread() function accepts flags to control how images are loaded:
import cv2 as cv

# Read image in color (default)
img_color = cv.imread("image.jpg", cv.IMREAD_COLOR)

# Read image in grayscale
img_gray = cv.imread("image.jpg", cv.IMREAD_GRAYSCALE)

# Read image with alpha channel
img_alpha = cv.imread("image.png", cv.IMREAD_UNCHANGED)

# Read image and reduce it to 1 channel grayscale
img_reduced = cv.imread("image.jpg", cv.IMREAD_REDUCED_GRAYSCALE_2)
Always check if an image was loaded successfully before processing it. An empty/null image will cause your program to crash.

Key Functions

FunctionDescription
imread()Loads an image from a file
imshow()Displays an image in a window
imwrite()Saves an image to a file
waitKey()Waits for a key press (0 = wait indefinitely)
namedWindow()Creates a window with a specific name
destroyWindow()Closes a specific window
destroyAllWindows()Closes all OpenCV windows
Use cv.samples.findFile() to locate sample images that come with OpenCV. This ensures your code works across different platforms and installations.