OpenCV threhold()函数的主要用途是将灰度图转换为二值图像,实现灰度图的二值化,在机器视觉中使用频度较高,如尺寸量测,物体识别等。其原型如下:
函数参数:
src 输入数组(多通道、8 位或 32 位浮点)。
dst 与 src 具有相同大小和类型以及相同通道数的输出数组。
thresh 阈值。
maxval 与 THRESH_BINARY 和 THRESH_BINARY_INV 阈值类型一起使用的最大值。
type 阈值类型,有以下类型:
对应的效果如下:
用法示例:
新建一个控制台应用程序,其源码如下:
#include <iostream>
#include <opencv2/opencv.hpp>using namespace std;
using namespace cv;int main()
{Mat src = imread("1.webp");if (src.empty()){cout << "Cann't open image!" << endl;return -1;}imshow("src", src);Mat dst;cvtColor(src, src, COLOR_BGR2GRAY);threshold(src, dst, 235, 255, THRESH_BINARY_INV);imshow("Source", dst);waitKey(0);return 0;
}