cv::threshold
时间: 2023-12-26 15:28:31 浏览: 89
cv::threshold函数是OpenCV中用于图像阈值化的函数。它可以将图像转换为二值图像,根据给定的阈值将像素值分为两个类别。该函数的原型如下:
```cpp
double cv::threshold(InputArray src, OutputArray dst, double thresh, double maxval, int type)
```
参数说明:
- src:输入图像,可以是单通道或多通道的灰度图像。
- dst:输出图像,与输入图像具有相同的尺寸和类型。
- thresh:阈值,用于将像素值分为两个类别。
- maxval:当像素值大于阈值时,所赋予的最大值。
- type:阈值化的类型,可以是cv::THRESH_BINARY、cv::THRESH_BINARY_INV或cv::THRESH_OTSU。
以下是两个示例:
1. 使用cv::THRESH_BINARY类型进行阈值化:
```cpp
cv::Mat src = cv::imread("image.jpg", cv::IMREAD_GRAYSCALE);
cv::Mat dst;
double thresh = 128;
double maxval = 255;
int type = cv::THRESH_BINARY;
cv::threshold(src, dst, thresh, maxval, type);
cv::imshow("Thresholded Image", dst);
cv::waitKey(0);
```
2. 使用cv::THRESH_OTSU类型进行阈值化:
```cpp
cv::Mat src = cv::imread("image.jpg", cv::IMREAD_GRAYSCALE);
cv::Mat dst;
double thresh = 0;
double maxval = 255;
int type = cv::THRESH_OTSU;
cv::threshold(src, dst, thresh, maxval, type);
cv::imshow("Thresholded Image", dst);
cv::waitKey(0);
```
阅读全文