在计算机视觉中,处理数字图像的基础操作通常包括读取图像、显示图像、图像转换(如灰度转换)、图像裁剪、缩放以及直方图均衡化等。以下是一个使用Python和OpenCV库实现这些基础操作的代码示例:
Python
1import cv2 2import numpy as np 3from matplotlib import pyplot as plt 4 5# 1. 读取图像 6image_path = 'path_to_your_image.jpg' # 替换为你的图像路径 7image_bgr = cv2.imread(image_path) 8 9# 2. 显示图像 10# OpenCV读取的图像格式是BGR,我们可以直接显示或者转换为RGB后显示 11rgb_image = cv2.cvtColor(image_bgr, cv2.COLOR_BGR2RGB) 12plt.imshow(rgb_image) 13plt.show() 14 15# 3. 转换为灰度图像 16gray_image = cv2.cvtColor(image_bgr, cv2.COLOR_BGR2GRAY) 17 18# 4. 显示灰度图像 19plt.imshow(gray_image, cmap='gray') 20plt.show() 21 22# 5. 图像裁剪 23cropped_image = gray_image[50:200, 100:300] # 假设我们从(50,100)坐标开始裁剪至(200,300) 24 25# 6. 图像缩放 26resized_image = cv2.resize(gray_image, (256, 256), interpolation=cv2.INTER_LINEAR) 27 28# 7. 直方图均衡化 29equ_histogram_image = cv2.equalizeHist(gray_image) 30 31# 可以进一步显示裁剪后的图像、缩放后的图像以及直方图均衡化后的图像 32plt.figure(figsize=(15, 5)) 33plt.subplot(131), plt.imshow(cropped_image, cmap='gray'), plt.title('Cropped Image') 34plt.subplot(132), plt.imshow(resized_image, cmap='gray'), plt.title('Resized Image') 35plt.subplot(133), plt.imshow(equ_histogram_image, cmap='gray'), plt.title('Histogram Equalized Image') 36plt.show()
这段代码涵盖了读取图像、颜色空间转换、图像裁剪、缩放以及直方图均衡化的基本功能。请确保已经安装了OpenCV (cv2) 和 Matplotlib (matplotlib) 库,并替换 'path_to_your_image.jpg' 为你要处理的实际图像文件路径。运行上述代码会展示一系列图像处理步骤的结果。