opencv2函数学习之threshold:实现图像阈值化
2017-10-21 15:56
447 查看
在opencv2中,threshold函数可以进行阈值化操作。
参数:
src:原图像。
dst:结果图像。
thresh:当前阈值。
maxVal:最大阈值,一般为255.
thresholdType:阈值类型,主要有下面几种:
enum { THRESH_BINARY=0, THRESH_BINARY_INV=1,
THRESH_TRUNC=2, THRESH_TOZERO=3,
THRESH_TOZERO_INV=4};
THRESH BINARY:二进制阈值,。在运用该阈值类型的时候,先要选定一个特定的阈值量,比如:125,这样,新的阈值产生规则可以解释为大于125的像素点的灰度值设定为最大值255,灰度值小于125的像素点的灰度值设定为0。 (value>threshold?255:0)
THRESH BINARY INV:反二进制阈值。设定一个初始阈值如125,则大于125的设定为0,而小于该阈值的设定为255。 (value>threshold?0:255)
THRESH TRUNC:截断阈值。同样首先需要选定一个阈值,图像中大于该阈值的像素点被设定为该阈值,小于该阈值的保持不变。(例如:阈值选取为125,那小于125的阈值不改变,大于125的灰度值(230)的像素点就设定为该阈值)。 (value>threshold?threshold:value)
THRESH TOZERO:阈值化为0。先选定一个阈值,像素点的灰度值大于该阈值的不进行任何改变;像素点的灰度值小于该阈值的,其灰度值全部变为0。 (value>threshold?value:0)
THRESH TOZERO INV:反阈值化为0。原理类似于0阈值,但是在对图像做处理的时候相反,即:像素点的灰度值小于该阈值的不进行任何改变,而大于该阈值的部分,其灰度值全部变为0。 (value>threshold?0:value)
例:
double threshold( const Mat& src, Mat& dst, double thresh,double maxVal, int thresholdType );
参数:
src:原图像。
dst:结果图像。
thresh:当前阈值。
maxVal:最大阈值,一般为255.
thresholdType:阈值类型,主要有下面几种:
enum { THRESH_BINARY=0, THRESH_BINARY_INV=1,
THRESH_TRUNC=2, THRESH_TOZERO=3,
THRESH_TOZERO_INV=4};
THRESH BINARY:二进制阈值,。在运用该阈值类型的时候,先要选定一个特定的阈值量,比如:125,这样,新的阈值产生规则可以解释为大于125的像素点的灰度值设定为最大值255,灰度值小于125的像素点的灰度值设定为0。 (value>threshold?255:0)
THRESH BINARY INV:反二进制阈值。设定一个初始阈值如125,则大于125的设定为0,而小于该阈值的设定为255。 (value>threshold?0:255)
THRESH TRUNC:截断阈值。同样首先需要选定一个阈值,图像中大于该阈值的像素点被设定为该阈值,小于该阈值的保持不变。(例如:阈值选取为125,那小于125的阈值不改变,大于125的灰度值(230)的像素点就设定为该阈值)。 (value>threshold?threshold:value)
THRESH TOZERO:阈值化为0。先选定一个阈值,像素点的灰度值大于该阈值的不进行任何改变;像素点的灰度值小于该阈值的,其灰度值全部变为0。 (value>threshold?value:0)
THRESH TOZERO INV:反阈值化为0。原理类似于0阈值,但是在对图像做处理的时候相反,即:像素点的灰度值小于该阈值的不进行任何改变,而大于该阈值的部分,其灰度值全部变为0。 (value>threshold?0:value)
例:
threshold( src,dst,125,255,0);
相关文章推荐
- opencv2函数学习之threshold:实现图像阈值化
- opencv2函数学习之threshold:实现图像阈值化 在opencv2中,threshold函数可以进行阈值化操作。 double threshold( const Mat& src, M
- opencv2函数学习之threshold:实现图像阈值化
- OpenCV学习:将图像转为二值图像(函数cvtColor和函数threshold)
- 利用OpenCV的threshold函数实现双阈值法二值化操作的源码!
- OpenCV示例学习笔记(1)-contours2.cpp-通过findContours 函数实现轮廓提取
- opencv2函数学习之blur,GaussianBlur,medianBlur和bilateralFilter:实现图像平滑处理
- OpenCV代码提取: threshold函数的实现
- OpenCV学习:将图像转为二值图像(函数cvtColor和函数threshold)
- OpenCV示例学习笔记(1)-contours2.cpp-通过findContours 函数实现轮廓提取
- opencv3.0 函数学习 6——threshold 二值化
- OpenCV代码提取: threshold函数的实现
- opencv学习之threshold函数
- OpenCV学习——物体跟踪的粒子滤波算法实现之权重归一化
- 【OpenCV学习笔记4】OpenCV GUI 之VCWin32+OpenCV 实现细胞计数
- OpenCV学习笔记(18)双目测距与三维重建的OpenCV实现问题集锦(三)立体匹配与视差计算
- [C++再学习系列] 派生类函数的重实现规则(override-覆盖)
- OpenCV学习笔记(3):一些函数等的解释(更新中...)
- (cc)2.6版本Linux上替换系统调用函数实现隐藏文件学习
- OpenCV学习笔记(16)双目测距与三维重建的OpenCV实现问题集锦(一)图像获取与单目定标