首页 > 编程语言 >C#-OpenCvSharp二值化阈值

C#-OpenCvSharp二值化阈值

时间:2022-08-17 11:00:26浏览次数:70  
标签:OpenCvSharp 阈值 C# Cv2 panda ThresholdTypes Otsu 二值化

本文链接:https://blog.csdn.net/qq_40344307/article/details/90741857

Mat panda = Cv2.ImRead("panda.png",ImreadModes.Grayscale);//必须为灰度图单通道
//1.简单阈值分割
//ThresholdTypes.BINARY	二进制阈值化,非黑即白
//ThresholdTypes.BINARY_INV	反二进制阈值化,非白即黑
//ThresholdTypes.TRUNC	截断阈值化 ,大于阈值设为阈值
//ThresholdTypes.TOZERO	阈值化为0 ,小于阈值设为0
//ThresholdTypes.INV	反阈值化为0 ,大于阈值设为0
Cv2.Threshold(panda,panda,127,255,ThresholdTypes.Binary);
//2.自适应阈值分割
//简单阈值算法使用全局阈值,但一副图像的不同位置光照情况可能不同,全局阈值会失去很多信息。这种情况下采用自适应阈值。
//自适应会根据图片一小块区域的值来计算对应区域的阈值。
//Block Size---图片中分块的大小。
//C---阈值计算方法中的常数项
//AdaptiveThresholdTypes.MEAN_C	通过平均的方法取得平均值
//AdaptiveThresholdTypes.GAUSSIAN_C	通过高斯取得高斯值
Cv2.AdaptiveThreshold(panda,panda,255,AdaptiveThresholdTypes.MeanC,ThresholdTypes.Binary,11,2);
//3. Otsu’s 二值化(大津阈值分割法)
//Otsu’s 二值化是对一副双峰图像自动根据其直方图计算出一个阈值。(对于非双峰图像,这种方法得到的结果可能会不理想)。
//这里用到到的函数还是 cv2.threshold(): cv2.THRESH_OTSU。
//这时要把阈值设为 0。然后算法会找到最优阈值,这个最优阈值就是返回值 retVal。如果不使用 Otsu 二值化,返回的retVal 值与设定的阈值相等。
Cv2.Threshold(panda,panda, 0, 255, ThresholdTypes.Otsu);

 

标签:OpenCvSharp,阈值,C#,Cv2,panda,ThresholdTypes,Otsu,二值化
From: https://www.cnblogs.com/KenZpp/p/16594302.html

相关文章

  • 无法在 DLL“SQLite.Interop.dll”中找到名为“SI7fca2652f71267db”的入口点。
    首先,这个是在操作SQLite数据库,使用System.Data.SQLite包,需要这个文件SQLite.Interop.dll不然会报错在生成项目的时候需要确保有这两个文件夹(可以生成完手动复制,也可以放......
  • C++primer练习14.1-9
    练习14.1在什么时候情况下重载的运算符与内置运算符有所区别?在什么时候重载的运算符又与内置运算符一样::为类设计的运算符,尽量重载的运算符含义不要改变,如+还是加法练习1......
  • .net core 6.0 应用session
    一、在Strartup类的ConfigureServices方法中添加:services.AddDistributedMemoryCache(); //添加内存缓存services.AddSession(); //添加Session服务 二、在Strartu......
  • [@vue/compiler-sfc] `defineProps` is a compiler macro and no longer needs to be
    意思是:去掉defineProps导入,可直接使用  vue文档:https://cn.vuejs.org/api/sfc-script-setup.html#defineprops-defineemits......
  • RocketMQ 消息存储机制
    一、概述RocketMQ中的消息存储在本地文件系统中,主要是由ConsumeQueue和CommitLog配合完成的,消息真正的物理存储文件是CommitLog,ConsumeQueue是消息的逻辑队列,类似数据......
  • 关于swack.cn站点关停的通知
    由于运营精力及成本问题,本人决定无限期关停swack.cn站的公网服务,包括但不限于swack.cn、www.swack.cn以及相关的文件下载地址。一直以来swack.cn站的试运营本着无......
  • select into
    SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。MySQL 数据库不支持 SELECT ... INTO 语句,但支持 INSERT INTO ... SELECT 。可使用以下语句......
  • centos7升级内核版本到5.19.0
    一、下载内核rpm包官方Centos6:http://elrepo.org/linux/kernel/el6/x86_64/RPMS/官方Centos7:http://elrepo.org/linux/kernel/el7/x86_64/RPMS/[root@localip......
  • Codeforces Round #814 (Div. 2)
    比赛链接CodeforcesRound#814(Div.2)D2.BurenkaandTraditions(hardversion)给出\(n\)个数,每次可以选择一个区间和一个数,将该区间的所有数异或上该数,代价为区......
  • <摘自https://blog.csdn.net/JavaAndLI/article/details/125359786>SQL分页查询的写法
    MySQL的分页实现是使用LIMIT关键字。Oracle的分页是实现主要是基于rownum行号。SQLServer的分页主要使用的关键字是TOP。 具体用法总结如下:本文中的变量名词说明:1,......