cv::findContours参数详解及可选参数
时间: 2023-09-03 11:06:38 浏览: 49
cv::findContours是OpenCV中用于查找图像轮廓的函数。它的参数如下:
1. 输入图像:需要查找轮廓的图像。
2. 轮廓:包含所有轮廓的向量。
3. 层次结构:可选参数,提供轮廓之间的关系。
4. 查找轮廓的模式:可选参数,指定轮廓的查找模式。
5. 轮廓近似方法:可选参数,指定轮廓的近似方法。
6. 偏移量:可选参数,指定轮廓点的偏移量。
其中,最常用的是前两个参数,即输入图像和轮廓向量。下面是可选参数的详细解释:
1. 层次结构:指定轮廓之间的关系,例如轮廓的父子关系。默认为NULL,表示所有轮廓都是同一级别的。
2. 查找轮廓的模式:有两种模式,分别为RETR_EXTERNAL和RETR_LIST。
- RETR_EXTERNAL:只检测最外层轮廓,所有的子轮廓都被忽略。
- RETR_LIST:检测所有的轮廓,但是不建立轮廓之间的等级关系。
3. 轮廓近似方法:有三种方法,分别为CHAIN_APPROX_NONE、CHAIN_APPROX_SIMPLE和CHAIN_APPROX_TC89_L1。
- CHAIN_APPROX_NONE:保存所有的轮廓点,不进行任何压缩。
- CHAIN_APPROX_SIMPLE:压缩水平、垂直和对角线方向的轮廓,只保留端点。
- CHAIN_APPROX_TC89_L1:应用Teelon- Chinl算法进行轮廓近似。
4. 偏移量:指定轮廓点的偏移量。默认为(0,0),表示不进行偏移。
以上就是cv::findContours函数的参数详解及可选参数。
相关问题
cv::applyColorMap参数详解及可选参数
cv::applyColorMap 是 OpenCV 中的一个函数,用于将灰度图像转换为彩色图像。该函数的函数原型如下:
```cpp
void applyColorMap(InputArray src, OutputArray dst, int colormap);
```
其中,参数说明如下:
- `src`:输入的灰度图像,数据类型为 `CV_8UC1`。
- `dst`:输出的彩色图像,数据类型为 `CV_8UC3`。
- `colormap`:颜色映射表,表示将灰度值映射到哪种颜色上。它可以是以下常量之一:
- `cv::COLORMAP_AUTUMN`:秋色调映射。
- `cv::COLORMAP_BONE`:骨骼映射。
- `cv::COLORMAP_JET`:彩虹映射。
- `cv::COLORMAP_WINTER`:冬季映射。
- `cv::COLORMAP_RAINBOW`:彩虹映射。
- `cv::COLORMAP_OCEAN`:海洋映射。
- `cv::COLORMAP_SUMMER`:夏季映射。
- `cv::COLORMAP_SPRING`:春季映射。
- `cv::COLORMAP_COOL`:冷色调映射。
- `cv::COLORMAP_HSV`:HSV映射。
- `cv::COLORMAP_PINK`:粉色映射。
- `cv::COLORMAP_HOT`:热色调映射。
除了这些常量外,还可以使用自定义的颜色映射表。自定义的颜色映射表是一个 `CV_8UC1` 类型的图像,其大小为 256x1,每个像素值表示灰度值对应的颜色。在使用自定义的颜色映射表时,需要将 `colormap` 参数设置为 `-1`,并将自定义的颜色映射表作为 `src` 参数传入函数中。
此外,`applyColorMap` 函数还有两个可选参数:
- `alpha`:控制颜色映射的透明度,取值范围为 `[0, 1]`,默认值为 `1`。
- `beta`:控制颜色映射的亮度,取值范围为 `[-255, 255]`,默认值为 `0`。
这两个参数可以通过函数重载进行设置。例如,下面的代码设置了 `alpha` 参数为 `0.5`,`beta` 参数为 `-50`:
```cpp
cv::applyColorMap(src, dst, cv::COLORMAP_JET, 0.5, -50);
```
cv::findContours输入参数详细介绍
cv::findContours是OpenCV中的一个函数,用于在二值图像中查找轮廓。它的输入参数包括二值图像、轮廓存储容器、轮廓检索模式、轮廓近似方法和可选的偏移量。其中,轮廓存储容器用于存储检测到的轮廓,轮廓检索模式用于指定轮廓的检索方式,轮廓近似方法用于指定轮廓的近似方式,偏移量用于指定轮廓点的偏移量。