我是靠谱客的博主 忧心金毛,这篇文章主要介绍基于OpenCvSharp的数字图像处理 - 二值化 一、二值化方法二、大津法,现在分享给大家,希望可以做个参考。

创建项目  |  文件与显示  |  像素操作  |  图像彩色类型转换  |  模糊、平滑、去噪  |  锐化、边缘检测  |  二值化  |  形态学  |  位置变换  |  直方图  |  霍夫变换  |  图像优化  |  图像分割

完整示例项目

 

一、二值化方法

在OpenCvSharp,threshold函数专门用来对灰度图像进行二值化。给定一个阈值thresh,最大值maxval,函数在不同的二值化类型下,功能表现如下表所示:

类型>thresh<=thresh
THRESH_BINARYmaxval0
THRESH_BINARY_INV0maxval
THRESH_TRUNCthreshsrc
THRESH_TOZEROsrc0
THRESH_TOZERO_INV0src

以THRESH_BINARY为例,代码:

Mat src = new Mat(img_number, ImreadModes.Grayscale);
Mat result = src.Threshold(150, 255, ThresholdTypes.Binary);
result.SaveImage(img_result);

其效果为:

二、大津法

二值化一般用来区分背景和前景,但对于任意的图片,我们并不知道背景和前景区分的阈值是多少。大津法是计算阈值较好的一个算法。

Mat src = new Mat(img_word, ImreadModes.Grayscale);
Mat result = src.Threshold(0, 255, ThresholdTypes.Otsu);
result.SaveImage(img_result);

效果如下:

 

 

最后

以上就是忧心金毛最近收集整理的关于基于OpenCvSharp的数字图像处理 - 二值化 一、二值化方法二、大津法的全部内容,更多相关基于OpenCvSharp的数字图像处理内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(136)

评论列表共有 0 条评论

立即
投稿
返回
顶部