【基础】OpenCV中的基本图像操作
发布时间: 2024-06-27 04:24:06 阅读量: 8 订阅数: 20 ![](https://csdnimg.cn/release/wenkucmsfe/public/img/col_vip.0fdee7e1.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/col_vip.0fdee7e1.png)
![python计算机视觉合集](https://img-blog.csdnimg.cn/img_convert/947981cc49c6b8eabb80d5023cbd95d9.png)
# 2.1 图像的基本概念和表示
### 2.1.1 图像的像素和颜色空间
图像由像素组成,每个像素表示图像中一个点的颜色和亮度信息。像素的排列方式决定了图像的形状和大小。
颜色空间定义了表示图像中颜色的方式。常用的颜色空间包括 RGB(红色、绿色、蓝色)、HSV(色调、饱和度、明度)和 YUV(亮度、色度)。不同的颜色空间适用于不同的图像处理任务。
### 2.1.2 图像的存储和加载
图像可以存储为各种文件格式,如 JPEG、PNG、TIFF 和 BMP。每个格式都有其独特的压缩算法和文件大小。
在 OpenCV 中,可以使用 `cv2.imread()` 函数加载图像。该函数接受图像文件的路径并返回一个 NumPy 数组,其中包含图像的像素数据。
# 2. 图像操作理论与实践
### 2.1 图像的基本概念和表示
#### 2.1.1 图像的像素和颜色空间
图像由像素组成,每个像素表示图像中一个特定点的颜色值。像素值通常由三个分量表示:红色(R)、绿色(G)和蓝色(B),称为 RGB 颜色空间。其他常用的颜色空间包括灰度空间(仅使用一个分量表示亮度)和 HSV 空间(色调、饱和度和亮度)。
#### 2.1.2 图像的存储和加载
图像可以存储为各种文件格式,例如 JPEG、PNG 和 TIFF。这些格式使用不同的压缩算法来平衡图像质量和文件大小。OpenCV 提供了 `imread()` 和 `imwrite()` 函数来加载和保存图像。
```python
import cv2
# 加载图像
image = cv2.imread('image.jpg')
# 保存图像
cv2.imwrite('output.jpg', image)
```
### 2.2 图像变换和增强
#### 2.2.1 图像的几何变换
几何变换改变图像的形状和大小。常见的几何变换包括:
- **缩放:**改变图像的尺寸。
- **平移:**移动图像。
- **旋转:**围绕图像的中心旋转图像。
- **仿射变换:**应用线性变换扭曲图像。
```python
import cv2
# 缩放图像
scaled_image = cv2.resize(image, (500, 500))
# 平移图像
translated_image = cv2.warpAffine(image, np.float32([[1, 0, 100], [0, 1, 50]]), (image.shape[1], image.shape[0]))
# 旋转图像
rotated_image = cv2.rotate(image, cv2.ROTATE_90_CLOCKWISE)
```
#### 2.2.2 图像的色彩增强
色彩增强技术改善图像的视觉效果。常见的色彩增强技术包括:
- **对比度增强:**调整图像中明暗区域之间的差异。
- **亮度调整:**改变图像的整体亮度。
- **饱和度调整:**改变图像中颜色的强度。
- **色调调整:**改变图像中颜色的色调。
```python
import cv2
# 对比度增强
contrasted_image = cv2.convertScaleAbs(image, alpha=1.5, beta=0)
# 亮度调整
brightened_image = cv2.add(image, np.array([50]))
# 饱和度调整
saturated_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
saturated_image[:, :, 1] = cv2.add(saturated_image[:, :, 1], np.array([50]))
saturated_image = cv2.cvtColor(saturated_image, cv2.COLOR_HSV2BGR)
# 色调调整
hue_adjusted_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
hue_adjusted_image[:, :, 0] = cv2.add(hue_adjusted_image[:, :, 0], np.array([50]))
hue_adjusted_image = cv2.cvtColor(hue_adjusted_image, cv2.COLOR_HSV2BGR)
```
#### 2.2.3 图像的滤波处理
滤波处理用于消除图像中的噪声或增强特定特征。常见的滤波器类型包括:
- **均值滤
0
0
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)