opencv阈值分割类型
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阈值分割类型相关推荐
- opencv 阈值分割 — threshold()
OpenCV阈值分割函数:threshold() 函数原型: double threshold(InputArray src, OutputArray dst, double thresh, doub ...
- OpenCV —— 阈值分割(直方图技术法,熵算法,Otsu,自适应阈值算法)
阈值分割 1. 全局阈值分割 直方图技术法 熵算法 Otsu算法 2. 局部阈值分割 自适应阈值 阈值的分割的核心就是如何选取阈值,选取正确的阈值时分割成功的关键.可以使用手动设置阈值,也可以采用直方 ...
- opencv 阈值分割_用 OpenCV 去除图片中的水印,骚操作!
点击上方 小张Python,加为星标 第一时间收到 Python 技术干货! 参考连接:https://stackoverflow.com/questions/32125281/removing-wa ...
- opencv 阈值分割_CVPR2019实例分割Mask Scoring RCNN
点击上方↑↑↑"OpenCV学堂"关注我 欢迎留言,参与互动讨论,发表自己的看法 作者博客: https://blog.csdn.net/linolzhang 今年的Oral,在c ...
- python图像分割动态域值_python+opencv阈值分割
37 #获取像素点的最大值和最小值 38 arr_temp =np.reshape(img_arr,(lens,))39 max_val =max(arr_temp)40 min_val =min(a ...
- python dicom 器官分割_python+opencv阈值分割
37 #获取像素点的最大值和最小值 38 arr_temp =np.reshape(img_arr,(lens,))39 max_val =max(arr_temp)40 min_val =min(a ...
- java opencv 阀值分割_opencv 阈值分割的具体使用
阈值分割 像素图 原始图像像素图 见下面 红色线:标注一条阈值线 二进制阈值化 首先设定一条阀值线 如127 大于127的像素点灰度值设为最大(如unit8的格式为255) 小于127的像素点灰度值设 ...
- python+openCV 自适应阈值分割
当图像各局部亮度不同时,全局阈值就很难将背景和目标分割.因此提出了自适应阈值,即在图像的不同区域采用不同的阈值进行分割.利用函数cv2.adaptiveThreshold()进行分割. cv2.ada ...
- python阈值分割_opencv 阈值分割的具体使用
阈值分割 像素图 原始图像像素图 见下面 红色线:标注一条阈值线 二进制阈值化 首先设定一条阀值线 如127 大于127的像素点灰度值设为最大(如unit8的格式为255) 小于127的像素点灰度值设 ...
最新文章
- 增大模型依然有用,DeepMind用2800亿参数的Gopher,测试语言系统极限
- Eclipse安装从dao层直接到mapper层的插件
- 『数据库』数据库编程(概念性的东西,应用一般,甚至有点过时,用来考试)
- 算法题目中常见的几种输入小点-gets,cin,scanf,getline,sstream
- 使用artTemplate模板将json转换为html页面
- java面试要点---ibatiS框架的使用方法介绍---随时更新
- 知识蒸馏在广告系统中的应用(二)
- addActionError addFieldErrot addActionMessage 的区别
- android 城市列表分组,Android实现简单的城市列表功能
- mysql 安装没有my.cnf_Linux安装mysql没有my.cnf文件
- Python爬取童程童美TTS网站知识点图片
- 用ChatGPT可以去微博做个大V了(狗头)
- “求答案?一筐鸡蛋:几个几个拿”的Python解答
- 【论文学习】MKIoU Loss: Towards Accurate Oriented Object Detection in Aerial Images
- 【Java设计模式 规范与重构】 三 大型重构的手段:高内聚,低耦合
- 数据库备份:Xtrabackup实现完全备份及增量备份
- VGA/QVGA/WVGA/XGA/SXGA/QXGA/HD/FHD/UHD等常用分辨率格式对比总结
- CTFHub技能树 Web-XSS 详解
- 迷人和漂亮的十几岁的明星
- Android 热修复Tinker接入实战
热门文章
- BigDecimal 转换为int 或者其他类型
- It is currently in use by another Gradle instance
- mongodb插入数据获取本次插入的mongodb id
- PyTorch 笔记(16)— torch.nn.Sequential、torch.nn.Linear、torch.nn.RelU
- sklearn FutureWarning: numpy not_equal will not check..., The comparison did not return the same
- spring-boot学习资料
- Oracle Database 11.2.0.4.0 已在 中标麒麟Linux x86-64 NeoKylin Linux Advanced Server 6 上通过认证...
- ORA-00942:表或视图不存在(低级错误)
- BZOJ1202: [HNOI2005]狡猾的商人
- 子分类账知识学习(汇总网上比较有用的资料)