docs: insert 51 output images from asset/ into README.md and 教案.md with captions
This commit is contained in:
92
教案.md
92
教案.md
@@ -370,6 +370,12 @@ cmake .. && make -j$(nproc)
|
||||
> [!NOTE]
|
||||
> 这条路径比较长,建议你把它收藏到资源管理器的快速访问栏,后面每个实验都要用。你只需要修改其中的实验文件夹名就能访问不同实验的输出。
|
||||
|
||||
**运行结果预览**:
|
||||
|
||||
| 程序生成的测试图 | 读取后再保存的验证图 |
|
||||
|---|---|
|
||||
|  |  |
|
||||
|
||||
---
|
||||
|
||||
### 4.2 实验 2:颜色空间转换
|
||||
@@ -444,6 +450,20 @@ cmake .. && make -j$(nproc)
|
||||
|
||||
进入 `\\wsl$\Ubuntu\mnt\d\RM\25教学\视觉1\OpenCV-CPP\exp2_color_space\build`,你会看到 `original.jpg`、`gray.jpg`、`hsv.jpg`、`hsv_channel_H.jpg`、`hsv_channel_S.jpg`、`hsv_channel_V.jpg` 等图片。
|
||||
|
||||
**运行结果预览**:
|
||||
|
||||
| 原始彩色图 | 灰度转换 | HSV转换 |
|
||||
|---|---|---|
|
||||
|  |  |  |
|
||||
|
||||
| H通道(色相) | S通道(饱和度) | V通道(明度) |
|
||||
|---|---|---|
|
||||
|  |  |  |
|
||||
|
||||
| Lab转换 | YCrCb转换 |
|
||||
|---|---|
|
||||
|  |  |
|
||||
|
||||
---
|
||||
|
||||
### 4.3 实验 3:高斯模糊
|
||||
@@ -503,6 +523,16 @@ cmake .. && make -j$(nproc)
|
||||
|
||||
进入 `\\wsl$\Ubuntu\mnt\d\RM\25教学\视觉1\OpenCV-CPP\exp3_gaussian_blur\build`,对比 `original.jpg`、`blur_3x3.jpg`、`blur_9x9.jpg`、`blur_21x21.jpg` 四张图,观察散点噪声如何逐渐消失。
|
||||
|
||||
**运行结果预览**:
|
||||
|
||||
| 原始图片(含散点噪声) | 轻微模糊 (ksize=3×3) | 中度模糊 (ksize=9×9) |
|
||||
|---|---|---|
|
||||
|  |  |  |
|
||||
|
||||
| 重度模糊 (ksize=21×21) | 各向异性模糊 (sigmaX=15, sigmaY=3) |
|
||||
|---|---|
|
||||
|  |  |
|
||||
|
||||
---
|
||||
|
||||
### 4.4 实验 4:Canny 边缘检测
|
||||
@@ -568,6 +598,20 @@ cmake .. && make -j$(nproc)
|
||||
|
||||
进入 `\\wsl$\Ubuntu\mnt\d\RM\25教学\视觉1\OpenCV-CPP\exp4_canny\build`,对比 `edges_low.jpg`、`edges_mid.jpg`、`edges_high.jpg`,以及 `edges_after_blur.jpg`,观察阈值和预处理对结果的影响。
|
||||
|
||||
**运行结果预览**:
|
||||
|
||||
| 原始彩色图 | 灰度转换 |
|
||||
|---|---|
|
||||
|  |  |
|
||||
|
||||
| 低阈值 (50/150) | 中等阈值 (100/200) | 高阈值 (200/400) |
|
||||
|---|---|---|
|
||||
|  |  |  |
|
||||
|
||||
| 高斯模糊后 | 先模糊再Canny |
|
||||
|---|---|
|
||||
|  |  |
|
||||
|
||||
---
|
||||
|
||||
### 4.5 实验 5:图像阈值化
|
||||
@@ -631,6 +675,16 @@ cmake .. && make -j$(nproc)
|
||||
./exp5
|
||||
```
|
||||
|
||||
**运行结果预览**:
|
||||
|
||||
| 灰度渐变图 | THRESH_BINARY | THRESH_BINARY_INV |
|
||||
|---|---|---|
|
||||
|  |  |  |
|
||||
|
||||
| THRESH_TRUNC | THRESH_TOZERO | THRESH_TOZERO_INV |
|
||||
|---|---|---|
|
||||
|  |  |  |
|
||||
|
||||
---
|
||||
|
||||
### 4.6 实验 6:形态学操作——腐蚀与膨胀
|
||||
@@ -710,6 +764,16 @@ cmake .. && make -j$(nproc)
|
||||
|
||||
进入 `\\wsl$\Ubuntu\mnt\d\RM\25教学\视觉1\OpenCV-CPP\exp6_morphology\build`,依次对比 `binary.jpg`(原始)→ `eroded.jpg`(腐蚀)→ `dilated.jpg`(膨胀)→ `opened.jpg`(开运算)→ `closed.jpg`(闭运算),感受每种操作的效果。
|
||||
|
||||
**运行结果预览**:
|
||||
|
||||
| 原始二值图 | 腐蚀后 | 膨胀后 |
|
||||
|---|---|---|
|
||||
|  |  |  |
|
||||
|
||||
| 开运算 | 闭运算 | 3次腐蚀 |
|
||||
|---|---|---|
|
||||
|  |  |  |
|
||||
|
||||
---
|
||||
|
||||
### 4.7 实验 7:颜色提取——inRange
|
||||
@@ -800,6 +864,20 @@ cmake .. && make -j$(nproc)
|
||||
- `red_extracted.jpg`:原图中只有红色的部分
|
||||
- `mask_blue.jpg` / `blue_extracted.jpg`:蓝色提取
|
||||
|
||||
**运行结果预览**:
|
||||
|
||||
| 原始彩色图 | HSV转换 |
|
||||
|---|---|
|
||||
|  |  |
|
||||
|
||||
| 红色范围1 (H 0~10) | 红色范围2 (H 160~180) | 合并后的红色mask |
|
||||
|---|---|---|
|
||||
|  |  |  |
|
||||
|
||||
| 提取的红色区域 | 蓝色mask | 提取的蓝色区域 |
|
||||
|---|---|---|
|
||||
|  |  |  |
|
||||
|
||||
---
|
||||
|
||||
### 4.8 实验 8:综合流水线
|
||||
@@ -890,6 +968,20 @@ cmake .. && make -j$(nproc)
|
||||
> [!TIP]
|
||||
> 如果你看 `06c_result.jpg` 发现只有 0 个或 1 个检测框(预期应该是 2 个),别担心!这是因为代码中筛选条件比较严格。你可以在 `main.cpp` 中调整筛选参数(面积阈值和长宽比阈值),重新编译运行看看效果变化——这对后续的调参能力是很好的练习。
|
||||
|
||||
**运行结果预览**:
|
||||
|
||||
| 原始模拟场景 | HSV转换 | 高斯模糊后 |
|
||||
|---|---|---|
|
||||
|  |  |  |
|
||||
|
||||
| inRange原始mask | 开运算去噪 | 闭运算填充 |
|
||||
|---|---|---|
|
||||
|  |  |  |
|
||||
|
||||
| 提取的红色区域 | mask边缘检测 | 最终结果(绿框=检测到的灯条) |
|
||||
|---|---|---|
|
||||
|  |  |  |
|
||||
|
||||
---
|
||||
|
||||
## 5. 结语与下一步预告
|
||||
|
||||
Reference in New Issue
Block a user