一、 Cv2.Threshold()二值化的函数参数说明
Cv2.Threshold()是一个用于图像二值化的函数。具体来说,它会将图像中的每一个像素的灰度值与一个阈值进行比较,大于该阈值的像素会被赋值为最大灰度值(即 255),小于该阈值的像素会被赋值为最小灰度值(即 0)。这样就可以将图像中的所有像素分为两类:黑色和白色。
函数调用
public static double Threshold(InputArray src, OutputArray dst, double thresh, double maxval, ThresholdTypes type)
参数说明
type参数用于指定阈值处理的类型
代码示范
using OpenCvSharp;
public void ThresholdExample()
{
// 读取图像
Mat src = Cv2.ImRead("image.jpg", ImreadModes.GrayScale);
// 应用阈值处理
Mat dst = new Mat();
Cv2.Threshold(src, dst, 120, 255, ThresholdTypes.Binary);
// 显示结果
Cv2.ImShow("Thresholded Image", dst);
Cv2.WaitKey(0);
Cv2.DestroyAllWindows();
}
这个示例代码使用Cv2.Threshold
函数对灰度图像进行阈值处理。函数的参数包括输入图像、输出图像、阈值、最大像素值和阈值类型。在这个例子中,阈值为120,最大像素值为255,阈值类型为二进制阈值。
二、Cv2.AdaptiveThreshold自适应阈值处理。
Cv2.AdaptiveThreshold函数是OpenCV中用来进行自适应阈值处理的函数。
自适应阈值处理是一种图像二值化的方法,不同于全局阈值处理,它不使用一个固定的阈值对整个图像进行二值化,而是根据图像的局部区域进行二值化。这种方法可以有效地处理光照不均匀的图像。
函数调用
public static void AdaptiveThreshold(InputArray src, OutputArray dst, double maxValue, AdaptiveThresholdTypes adaptiveMethod, ThresholdTypes thresholdType, int blockSize, double c)
参数说明
代码示范
using OpenCvSharp;
class Program
{
static void Main(string[] args)
{
// 读入图像并转为灰度图
Mat img = Cv2.ImRead("image.jpg", ImreadModes.GrayScale);
// 使用自适应阈值处理图像
Mat thresh = new Mat();
Cv2.AdaptiveThreshold(img, thresh, 255, AdaptiveThresholdTypes.MeanC, ThresholdTypes.Binary, 11, 2);
// 显示结果
Cv2.ImShow("Adaptive Threshold", thresh);
Cv2.WaitKey(0);
Cv2.DestroyAllWindows();
}
}
c# OpenCV相关文章目录
c# OpenCvSharp安装(一)
c# OpenCvSharp读取、显示和写入图像(二)
c# OpenCvSharp图像裁剪、调整大小、旋转、透视(三)
c# OpenCvSharp基本绘画(直线、椭圆、矩形、圆、多边形、文本)(四)
c# OpenCvSharp 检测(斑点检测、边缘检测、轮廓检测)(五)
c# OpenCvSharp 轮廓绘制六步骤你学会了吗(六)
c# OpenCvSharp 目标检测五个步骤(又学会了)(七)
c# OpenCvSharp透视矫正六步实现透视矫正(八)
c# OpenCvSharp Cv2.Threshold()和Cv2.AdaptiveThreshold参数说明
c# OpenCvSharp透视矫正参数调整器