c# OpenCvSharp Cv2.Threshold()和Cv2.AdaptiveThreshold参数说明
2024-01-03 09:34:35
一、?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();
}
}
文章来源:https://blog.csdn.net/hb_ljj/article/details/135353551
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!