在计算机视觉中,处理数字图像的基础操作通常包括读取图像、显示图像、图像转换(如灰度转换)、图像裁剪、缩放以及直方图均衡化等。以下是一个使用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()
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.

这段代码涵盖了读取图像、颜色空间转换、图像裁剪、缩放以及直方图均衡化的基本功能。请确保已经安装了OpenCV (cv2) 和 Matplotlib (matplotlib) 库,并替换 'path_to_your_image.jpg' 为你要处理的实际图像文件路径。运行上述代码会展示一系列图像处理步骤的结果。