OpenCV中threshold函数的使用
2024-08-25 21:50:40
转自:https://blog.csdn.net/u012566751/article/details/77046445
一篇很好的介绍threshold文章;
图像的二值化就是将图像上的像素点的灰度值设置为0或255,这样将使整个图像呈现出明显的黑白效果。在数字图像处理中,二值图像占有非常重要的地位,图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓。OpenCV中提供了函数cv::threshold();
注意:作者采用OpenCV 3.0.0
函数原型
参数说明
src:源图像,可以为8位的灰度图,也可以为32位的彩色图像。(两者由区别)
dst:输出图像
thresh:阈值
maxval:dst图像中最大值
type:阈值类型,可以具体类型如下:
编号 | 阈值类型枚举 |
注意
|
1 | THRESH_BINARY | |
2 | THRESH_BINARY_INV | |
3 | THRESH_TRUNC | |
4 | THRESH_TOZERO | |
5 | THRESH_TOZERO_INV | |
6 | THRESH_MASK |
不支持
|
7 | THRESH_OTSU |
不支持32位
|
8 | THRESH_TRIANGLE |
不支持32位
|
具体如下表
生成关系如下表
测试代码
Mat gray;
cvtColor(src, gray, CV_BGR2GRAY);
// 全局二值化
int th = 100;
cv::Mat threshold1,threshold2,threshold3,threshold4,threshold5,threshold6,threshold7,threshold8;
cv::threshold(gray, threshold1, th, 255, THRESH_BINARY);
cv::threshold(gray, threshold2, th, 255, THRESH_BINARY_INV);
cv::threshold(gray, threshold3, th, 255, THRESH_TRUNC);
cv::threshold(gray, threshold4, th, 255, THRESH_TOZERO);
cv::threshold(gray, threshold5, th, 255, THRESH_TOZERO_INV);
//cv::threshold(gray, threshold6, th, 255, THRESH_MASK);
cv::threshold(gray, threshold7, th, 255, THRESH_OTSU);
cv::threshold(gray, threshold8, th, 255, THRESH_TRIANGLE);
cv::imshow("THRESH_BINARY", threshold1);
cv::imshow("THRESH_BINARY_INV", threshold2);
cv::imshow("THRESH_TRUNC", threshold3);
cv::imshow("THRESH_TOZERO", threshold4);
cv::imshow("THRESH_TOZERO_INV", threshold5);
//cv::imshow("THRESH_MASK", threshold6);
cv::imshow("THRESH_OTSU", threshold7);
cv::imshow("THRESH_TRIANGLE", threshold8);
cv::waitKey(0);
|
最新文章
- ImportError: The _imagingft C module is not installed
- Linux的学习--crontab
- 调用newtonsoft.json反序列出错
- Spring AOP 注解和xml实现 --转载
- 仿Twitter登陆移动背景效果
- 【C语言】模拟实现库函数strcat函数
- python 性能鸡汤
- ubuntu14.04 cocos2d-x-3.6 glfw编译出错解决方案
- 基于visual Studio2013解决面试题之0410计算二进制中1的个数
- eclipse报错:发现了以元素 'd:skin' 开头的无效内容。此处不应含有子元素
- CentOS6下安装git
- .net 笔试面试总结(2)
- Spring Cloud 2-Hystrix 断路容错保护(四)
- AX_DataSource
- django之signal机制再探
- Python常用内置函数介绍
- e 的由来
- docker 系列之 配置阿里云镜像加速器
- :工厂模式1:方法模式--Pizza
- golang中defer的详解 转自https://blog.csdn.net/skh2015java/article/details/77081250
热门文章
- MSP430-LED中断闪烁代码详解
- Unity碰撞消息(OnCollisionXXXX)和触发消息(OnTriggerXXXX)的调用情境
- 关于js重名方法的先后调用问题
- Laptop(线段树+离散化)
- Codeforces 1389 题解(A-E)
- PHP弱类型hash比较缺陷
- ASP调用WEBSERVICE并对返回结果进行解析时遇到的问题
- Mybatis注解开发相关
- [LeetCode]26. 删除排序数组中的重复项(数组,双指针)
- 三年之久的 etcd3 数据不一致 bug 分析