OpenCV基础——threshold函数的使用
来源:互联网 发布:mac上铃声软件 编辑:程序博客网 时间:2024/05/19 00:09
图像的二值化就是将图像上的像素点的灰度值设置为0或255,这样将使整个图像呈现出明显的黑白效果。在数字图像处理中,二值图像占有非常重要的地位,图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓。OpenCV中提供了函数cv::threshold();
注意:作者采用OpenCV 3.0.0
函数原型
参数说明
src:源图像,可以为8位的灰度图,也可以为32位的彩色图像。(两者由区别)
dst:输出图像
thresh:阈值
maxval:dst图像中最大值
type:阈值类型,可以具体类型如下:
编号阈值类型枚举
2THRESH_BINARY_INV
3THRESH_TRUNC
4THRESH_TOZERO
5THRESH_TOZERO_INV
6THRESH_MASK
注意
1THRESH_BINARY不支持
7THRESH_OTSU不支持32位
8THRESH_TRIANGLE不支持32位
具体如下表
生成关系如下表
函数参考可以至http://docs.opencv.org/3.0.0/examples.html
测试代码
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);
测试结果
原图
THRESH_BINARY
THRESH_BINARY_INV
THRESH_TRUNC
THRESH_TOZERO
THRESH_TOZERO_INV
THRESH_OTSU
THRESH_TRIANGLE
注意:
如果采用彩色图像进行计算会得到彩色效果,而不是预期的二值化结果
彩色源图
灰度源图
阅读全文
1 0
- OpenCV基础——threshold函数的使用
- OpenCV函数threshold的使用
- 【图像处理】OpenCV函数threshold的使用
- openCV二值函数threshold的使用
- OpenCV代码提取: threshold函数的实现
- opencv中Threshold函数的介绍
- OpenCV二值化函数Threshold
- OpenCV二值化函数Threshold
- OpenCV二值化函数threshold
- OpenCV Threshold的用法
- opencv的 threshold
- Opencv函数之--threshold函数
- threshold —— opencv阈值操作
- opencv学习之threshold函数
- Opencv固定阀值操作-Threshold函数
- opencv之Threshold()与AdaptiveThreshold()函数
- opencv学习(8)——threshold阈值分割
- (学习笔记)threshold —— opencv阈值操作
- 冒泡等几种排序算法(php)
- sqlserver关联更新问题
- VS2015动态库编程基础篇资源汇总
- 加油!
- HDU 1730 Northcott Game (Nim博弈)
- OpenCV基础——threshold函数的使用
- COJ-1216 异或最大值
- 基于Spring的AOP实现自定义annotation操作日志
- js 回调
- 并查集
- UVA 208 Firetruck
- Re:从零开始的Spring Security Oauth2(三)
- 人脸识别demo
- HDU 2243 AC自动机+矩阵快速幂