RLL Computer Vision Code
1.0
江苏科技大学HLL战队机器视觉代码
|
HCVC::ArmourDetector类 参考
装甲板检测模块 更多...
#include <armour_detector.h>
类 HCVC::ArmourDetector 继承关系图:
HCVC::ArmourDetector 的协作图:
类 | |
struct | OptimalArmourBlock |
最佳装甲板区域结构体 更多... | |
struct | Params |
装甲板判定参数 更多... | |
Public 成员函数 | |
ArmourDetector () | |
加载装甲板区域判定参数 更多... | |
bool | detect (const Mat &srcImage) |
检测图像中是否存在装甲板区域 更多... | |
Rect2d | getBestArmourBlock () const |
获取上一次图像中检测出的最佳装甲板区域 更多... | |
void | drawBlocks (Mat srcImage, const vector< RotatedRect > &minRotatedRects, const Scalar &color) const |
在原图像上画出旋转矩形,便于调试 更多... | |
Public 成员函数 继承自 HCVC::ImagePreprocessor | |
ImagePreprocessor () | |
初始化 更多... | |
Mat | preprocess (const Mat &srcImage) |
对读取到的图片预处理 更多... | |
void | setThreshod (int channel, int minOrMax, int value) |
设置预处理图像阈值 更多... | |
int | getThreshod (int channel, int minOrMax) const |
获取指定通道最大值或者最小值 更多... | |
Public 属性 | |
struct HCVC::ArmourDetector::Params | params |
Private 成员函数 | |
vector< vector< Point > > | searchBlocks (Mat srcImage) |
搜寻图中所有独立的团块 更多... | |
void | fillLampBlock (Mat &srcImage, vector< vector< Point > > &blocks, int row, int col) |
用广度优先搜索填充每一个连通块 更多... | |
vector< RotatedRect > | calcBlocksInfo (const vector< vector< Point > > &blocks) |
计算每一个团块的信息,并进行初步的筛选即去除掉一些不符合条件的团块 更多... | |
vector< RotatedRect > | extracArmourBlocks (const vector< RotatedRect > &minRotatedRects) |
进一步筛选,匹配团块即灯柱对,提取出最优目标 更多... | |
void | markArmourBlocks (const Mat &srcImage, const Mat &dstImage, const vector< RotatedRect > &armourBlocks) |
对最后提取出的灯柱区域评分,选出最优区域 更多... | |
void | cutEdgeOfRect (Point2f *points) |
减去旋转矩形的边角,使旋转矩形的左右两条边与竖直方向平行,成为平行四边形 更多... | |
Private 属性 | |
vector< OptimalArmourBlock > | optimalArmourBlocks |
详细描述
构造及析构函数说明
◆ ArmourDetector()
HCVC::ArmourDetector::ArmourDetector | ( | ) |
加载装甲板区域判定参数
在文件 armour_detector.cpp 第 5 行定义.
成员函数说明
◆ calcBlocksInfo()
|
private |
计算每一个团块的信息,并进行初步的筛选即去除掉一些不符合条件的团块
- 参数
-
[in] blocks 团块点的集合
- 返回
- 包围团块的最小旋转矩形数组
在文件 armour_detector.cpp 第 161 行定义.
◆ cutEdgeOfRect()
|
private |
减去旋转矩形的边角,使旋转矩形的左右两条边与竖直方向平行,成为平行四边形
- 参数
-
[in] points 旋转矩形的四个角点
- 返回
- null
在文件 armour_detector.cpp 第 283 行定义.
◆ detect()
bool HCVC::ArmourDetector::detect | ( | const Mat & | srcImage | ) |
检测图像中是否存在装甲板区域
对装甲板检测流程总体控制,并将检测出来的装甲板区域旋转矩形存储起来
- 参数
-
[in] srcImage 待检测原图像,图像由摄像头直接传回,并未经过处理
- 返回
- 图像中是否存在装甲板区域。 返回true,表示检测到装甲板区域; 返回false,表示未检测到装甲板区域
在文件 armour_detector.cpp 第 29 行定义.
◆ drawBlocks()
void HCVC::ArmourDetector::drawBlocks | ( | Mat | srcImage, |
const vector< RotatedRect > & | minRotatedRects, | ||
const Scalar & | color | ||
) | const |
在原图像上画出旋转矩形,便于调试
- 参数
-
[in] srcImage 待检测原图像 [in] minRotatedRects 需要画出的全部旋转矩形 [in] color 线条颜色
- 返回
- null
在文件 armour_detector.cpp 第 74 行定义.
◆ extracArmourBlocks()
|
private |
进一步筛选,匹配团块即灯柱对,提取出最优目标
- 参数
-
[in] minRotatedRects 包围团块的最小旋转矩形数组
- 返回
- 包围灯柱对即装甲板区域的最小旋转矩形数组
在文件 armour_detector.cpp 第 184 行定义.
◆ fillLampBlock()
|
private |
用广度优先搜索填充每一个连通块
- 参数
-
[in] srcImage 待检测原图像 [out] blocks 所有连通块的点集合,初始为空 [in] row 连通块第一个点的纵坐标 [in] col 连通块第一个点的横坐标
- 返回
- null
在文件 armour_detector.cpp 第 92 行定义.
◆ getBestArmourBlock()
Rect2d HCVC::ArmourDetector::getBestArmourBlock | ( | ) | const |
获取上一次图像中检测出的最佳装甲板区域
对装甲板检测流程总体控制,向外提供运行装甲板检测模块运行接口
- 返回
- 包围装甲板区域旋转矩形的矩形
在文件 armour_detector.cpp 第 69 行定义.
◆ markArmourBlocks()
|
private |
对最后提取出的灯柱区域评分,选出最优区域
- 参数
-
[in] srcImage 待检测原图像 [in] dstImage 对原图像进行图像预处理后的图像 [in] armourBlocks 包围装甲板区域的最小旋转矩形数组
- 返回
- null
在文件 armour_detector.cpp 第 237 行定义.
◆ searchBlocks()
|
private |
类成员变量说明
◆ optimalArmourBlocks
|
private |
在文件 armour_detector.h 第 115 行定义.
◆ params
struct HCVC::ArmourDetector::Params HCVC::ArmourDetector::params |
该类的文档由以下文件生成:
- code/armour_detector.h
- code/armour_detector.cpp
制作者 1.8.13