threshold(InputArray src, OutputArray dst, double thresh, double maxval, int type);

src:输入图,只能输入单通道图像,通常来说为灰度图

dst:输出图,一般为二值图像

thresh:阈值

maxval:当像素值超过了阈值(或者小于阈值,根据type来决定)所赋予的值

type:二值化操作的类型,包含以下5种类型

阈值分割类型
THRESH_BINARY = 0, // 大于thresh 为 maxval,否则为 0
THRESH_BINARY_INV = 1,// 大于thresh 为 0,否则为 maxval
THRESH_TRUNC = 2, // 大于thresh 为 thresh,否则为 0
THRESH_TOZERO = 3, // 大于thresh  不变,否则为 0
THRESH_TOZERO_INV = 4, // 大于thresh 为 0,否则 不变

程序

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;//全局变量
Mat dst, dst1, dst2;
//载入原图
Mat src = imread("12.bmp", 1);
int method=1;
int thresh=100;
void on_change(int, void*)
{dst = Mat::zeros(src.size(), src.type());threshold(src, dst, thresh, 255, method);imshow("【原始图像】", src);imshow("【二值图像】", dst);
}void print()
{cout << "阈值分割类型:" << endl;cout << "THRESH_BINARY = 0, // 大于thresh 为 maxval,否则为 0" << endl;cout << "THRESH_BINARY_INV = 1,// 大于thresh 为 0,否则为 maxval" << endl;cout << "THRESH_TRUNC = 2, // 大于thresh 为 thresh,否则为 0" << endl;cout << "THRESH_TOZERO = 3, // 大于thresh  不变,否则为 0" << endl;cout << "THRESH_TOZERO_INV = 4, // 大于thresh 为 0,否则 不变" << endl;
}int main()
{print();//改变console(控制台)字体颜色  system("color 0B");//判断图片是否读入if (!src.data){ printf("读取图片image0错误~! \n"); return false; }//将图片转为灰度图cvtColor(src, src, COLOR_BGR2GRAY);//先显示原图namedWindow("【原始图像】");imshow("【原始图像】", src);//循环轮询按键while (1){//获取键盘按键int c = waitKey(0);//判断ESC是否按下,若按下便退出if ((c & 255) == 27){cout << "程序退出!\n";break;}createTrackbar("【阈值】", "【原始图像】", &thresh,255, on_change);createTrackbar("【阈值分割类型】", "【原始图像】", &method, 4, on_change);on_change(0, 0);}return 0;
}

opencv阈值分割类型相关推荐

  1. opencv 阈值分割 — threshold()

    OpenCV阈值分割函数:threshold() 函数原型: double threshold(InputArray src, OutputArray dst, double thresh, doub ...

  2. OpenCV —— 阈值分割(直方图技术法,熵算法,Otsu,自适应阈值算法)

    阈值分割 1. 全局阈值分割 直方图技术法 熵算法 Otsu算法 2. 局部阈值分割 自适应阈值 阈值的分割的核心就是如何选取阈值,选取正确的阈值时分割成功的关键.可以使用手动设置阈值,也可以采用直方 ...

  3. opencv 阈值分割_用 OpenCV 去除图片中的水印,骚操作!

    点击上方 小张Python,加为星标 第一时间收到 Python 技术干货! 参考连接:https://stackoverflow.com/questions/32125281/removing-wa ...

  4. opencv 阈值分割_CVPR2019实例分割Mask Scoring RCNN

    点击上方↑↑↑"OpenCV学堂"关注我 欢迎留言,参与互动讨论,发表自己的看法 作者博客: https://blog.csdn.net/linolzhang 今年的Oral,在c ...

  5. python图像分割动态域值_python+opencv阈值分割

    37 #获取像素点的最大值和最小值 38 arr_temp =np.reshape(img_arr,(lens,))39 max_val =max(arr_temp)40 min_val =min(a ...

  6. python dicom 器官分割_python+opencv阈值分割

    37 #获取像素点的最大值和最小值 38 arr_temp =np.reshape(img_arr,(lens,))39 max_val =max(arr_temp)40 min_val =min(a ...

  7. java opencv 阀值分割_opencv 阈值分割的具体使用

    阈值分割 像素图 原始图像像素图 见下面 红色线:标注一条阈值线 二进制阈值化 首先设定一条阀值线 如127 大于127的像素点灰度值设为最大(如unit8的格式为255) 小于127的像素点灰度值设 ...

  8. python+openCV 自适应阈值分割

    当图像各局部亮度不同时,全局阈值就很难将背景和目标分割.因此提出了自适应阈值,即在图像的不同区域采用不同的阈值进行分割.利用函数cv2.adaptiveThreshold()进行分割. cv2.ada ...

  9. python阈值分割_opencv 阈值分割的具体使用

    阈值分割 像素图 原始图像像素图 见下面 红色线:标注一条阈值线 二进制阈值化 首先设定一条阀值线 如127 大于127的像素点灰度值设为最大(如unit8的格式为255) 小于127的像素点灰度值设 ...

最新文章

  1. 增大模型依然有用,DeepMind用2800亿参数的Gopher,测试语言系统极限
  2. Eclipse安装从dao层直接到mapper层的插件
  3. 『数据库』数据库编程(概念性的东西,应用一般,甚至有点过时,用来考试)
  4. 算法题目中常见的几种输入小点-gets,cin,scanf,getline,sstream
  5. 使用artTemplate模板将json转换为html页面
  6. java面试要点---ibatiS框架的使用方法介绍---随时更新
  7. 知识蒸馏在广告系统中的应用(二)
  8. addActionError addFieldErrot addActionMessage 的区别
  9. android 城市列表分组,Android实现简单的城市列表功能
  10. mysql 安装没有my.cnf_Linux安装mysql没有my.cnf文件
  11. Python爬取童程童美TTS网站知识点图片
  12. 用ChatGPT可以去微博做个大V了(狗头)
  13. “求答案?一筐鸡蛋:几个几个拿”的Python解答
  14. 【论文学习】MKIoU Loss: Towards Accurate Oriented Object Detection in Aerial Images
  15. 【Java设计模式 规范与重构】 三 大型重构的手段:高内聚,低耦合
  16. 数据库备份:Xtrabackup实现完全备份及增量备份
  17. VGA/QVGA/WVGA/XGA/SXGA/QXGA/HD/FHD/UHD等常用分辨率格式对比总结
  18. CTFHub技能树 Web-XSS 详解
  19. 迷人和漂亮的十几岁的明星
  20. Android 热修复Tinker接入实战

热门文章

  1. BigDecimal 转换为int 或者其他类型
  2. It is currently in use by another Gradle instance
  3. mongodb插入数据获取本次插入的mongodb id
  4. PyTorch 笔记(16)— torch.nn.Sequential、torch.nn.Linear、torch.nn.RelU
  5. sklearn FutureWarning: numpy not_equal will not check..., The comparison did not return the same
  6. spring-boot学习资料
  7. Oracle Database 11.2.0.4.0 已在 中标麒麟Linux x86-64 NeoKylin Linux Advanced Server 6 上通过认证...
  8. ORA-00942:表或视图不存在(低级错误)
  9. BZOJ1202: [HNOI2005]狡猾的商人
  10. 子分类账知识学习(汇总网上比较有用的资料)