OpenCV画线与形状绘制:图像处理中的强大工具,解锁图像处理新世界
发布时间: 2024-06-20 10:57:46 阅读量: 92 订阅数: 38
openCV实现图像处理
4星 · 用户满意度95%
![OpenCV](https://developer.ibm.com/developer/default/articles/learn-the-basics-of-computer-vision-and-object-detection/images/image4.png)
# 1. OpenCV画线基础
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,提供了丰富的函数和算法,用于图像处理、计算机视觉和机器学习。在OpenCV中,画线和形状绘制是基本且重要的操作,广泛应用于图像处理和分析中。
### 1.1 画线
在OpenCV中,可以使用`cv2.line()`函数绘制线段。该函数需要以下参数:
- `img`:目标图像
- `start`:线段的起点坐标
- `end`:线段的终点坐标
- `color`:线段的颜色
- `thickness`:线段的粗细
# 2. OpenCV形状绘制
### 2.1 基本形状绘制
#### 2.1.1 绘制线段
**函数原型:**
```python
cv2.line(img, pt1, pt2, color, thickness=1, lineType=8, shift=0)
```
**参数说明:**
* `img`: 目标图像
* `pt1`: 起始点坐标(x, y)
* `pt2`: 终止点坐标(x, y)
* `color`: 线段颜色(BGR 格式)
* `thickness`: 线段粗细(单位:像素)
* `lineType`: 线段类型(参见 OpenCV 文档)
* `shift`: 线段位移(单位:像素)
**代码块:**
```python
import cv2
# 创建一个黑色图像
img = np.zeros((512, 512, 3), np.uint8)
# 绘制一条蓝色线段
cv2.line(img, (100, 100), (200, 200), (255, 0, 0), thickness=2)
# 显示图像
cv2.imshow('Line', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
**逻辑分析:**
* `np.zeros()` 创建一个黑色图像,大小为 512x512,通道数为 3。
* `cv2.line()` 函数绘制一条蓝色线段,起始点为 (100, 100),终止点为 (200, 200),粗细为 2 像素。
* `cv2.imshow()` 显示图像。
* `cv2.waitKey()` 等待用户输入。
* `cv2.destroyAllWindows()` 销毁所有窗口。
#### 2.1.2 绘制矩形
**函数原型:**
```python
cv2.rectangle(img, pt1, pt2, color, thickness=1, lineType=8, shift=0)
```
**参数说明:**
* `img`: 目标图像
* `pt1`: 矩形左上角坐标(x, y)
* `pt2`: 矩形右下角坐标(x, y)
* `color`: 矩形颜色(BGR 格式)
* `thickness`: 矩形线段粗细(单位:像素)
* `lineType`: 矩形线段类型(参见 OpenCV 文档)
* `shift`: 矩形位移(单位:像素)
**代码块:**
```python
import cv2
# 创建一个黑色图像
img = np.zeros((512, 512, 3), np.uint8)
# 绘制一个绿色矩形
cv2.rectangle(img, (100, 100), (200, 200), (0, 255, 0), thickness=2)
# 显示图像
cv2.imshow('Rectangle', img)
cv2.waitKey(0)
cv2.destroyAllWindow
```
0
0