博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
opencv2函数学习之threshold:实现图像阈值化
阅读量:5876 次
发布时间:2019-06-19

本文共 937 字,大约阅读时间需要 3 分钟。

在opencv2中,threshold函数可以进行阈值化操作。

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);

转载地址:http://bjzix.baihongyu.com/

你可能感兴趣的文章
HDOJ1233 畅通工程之一(最小生成树-Kruscal)
查看>>
14Spring_AOP编程(AspectJ)_环绕通知
查看>>
PHP之打开文件
查看>>
iOS - OC SQLite 数据库存储
查看>>
PHP-mysqllib和mysqlnd
查看>>
Redis常用命令
查看>>
NeHe OpenGL教程 第三十五课:播放AVI
查看>>
Linux下ping命令、traceroute命令、tracert命令的使用
查看>>
js replace,正则截取字符串内容
查看>>
socket
查看>>
Highcharts使用表格数据绘制图表
查看>>
Thinkphp5笔记三:创建基类
查看>>
LNMP之编译安装PHP出现的问题
查看>>
hdu5373
查看>>
4.单链表的创建和建立
查看>>
testng生成报告 testng-xslt 美化测试报告
查看>>
Android 好看的搜索界面,大赞Animation
查看>>
查询反模式 - GroupBy、HAVING的理解
查看>>
[转]动态加载javascript
查看>>
【协议】5、gossip 协议
查看>>