opencv 阈值分割的具体使用


Posted in Python onJuly 08, 2020

阈值分割

像素图
原始图像像素图 见下面
红色线:标注一条阈值线

opencv 阈值分割的具体使用

二进制阈值化
首先设定一条阀值线 如127
大于127的像素点灰度值设为最大(如unit8的格式为255)
小于127的像素点灰度值设为0

opencv 阈值分割的具体使用

反二进制阈值化
首先设定一条阀值线 如127
大于127的像素点灰度值设为最小为0
小于127的像素点灰度值设为最大(如unit8的格式为255)

opencv 阈值分割的具体使用

截断阈值化
首先选定一个阀值,大于该阈值的像素点呗设定为该阈值,小于该阈值的不变
如:阈值127,大于127的像素点值为127;小于127的不变

opencv 阈值分割的具体使用

反阈值化为0
先选定一个阈值,然后做如下处理:
大于等于该阈值的像素点变为0,
小于该阈值的像素点不变。

opencv 阈值分割的具体使用

阈值化为0
先选定一个阈值,然后做如下处理:
大于等于该阈值的像素点不变,
小于该阈值的像素点变为0。

opencv 阈值分割的具体使用

threshold函数

threshold:中文阈值
方法:
retval,dst=cv2.threshold(src,thresh,maxval,type)
retval:阈值 一般和thresh相同
dst:处理结果的图像

src:原始图像
thresh:阈值,阈值线,对应上文的红线
maxval:最大值,阈值分割后指定的最大值,有1和255。最大值为1对应是二值化图像数据
type:类型,指定那种阈值

threshold 二进制阈值
把亮的处理成白色,暗的处理成黑色

区别二值化阈值:二值化只有0,1。
二进制阈值:可以有其他两个数。二值化是特殊的二进制阈值。

cv2.THRESH_BINARY

算例:设定阈值为127

import cv2

a=cv2.imread('lenacolor.png')#
r,b=cv2.threshold(a,127,255,cv2.THRESH_BINARY)
print('r',r)
cv2.imshow('a',a)
cv2.imshow('b',b)
cv2.waitKey(0)
cv2.destroyAllWindows()

结果:
图中 像素只有0,255
print(b)

opencv 阈值分割的具体使用

opencv 阈值分割的具体使用

opencv 阈值分割的具体使用

threshold 反二进制阈值
把亮的处理成黑色,暗的处理成白色
修改前文代码

cv2.THRESH_BINARY_INV

opencv 阈值分割的具体使用

threshold 截断阈值
亮的不能太亮,有上限,暗的不变
cv2.THRESH_TRUNC

opencv 阈值分割的具体使用

threshold 反阈值化为0
把比较亮的部分处理成0成黑色,小于等于阈值的像素点不变
cv2.THRESH_TOZERO_INV

opencv 阈值分割的具体使用

threshold 阈值化为0
比较亮的部分不变,比较暗的部分处理成黑色为0
cv2.THRESH_TOZERO

opencv 阈值分割的具体使用

到此这篇关于opencv 阈值分割的具体使用的文章就介绍到这了,更多相关opencv 阈值分割内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
玩转python爬虫之正则表达式
Feb 17 Python
python距离测量的方法
Mar 06 Python
Python字符串的全排列算法实例详解
Jan 07 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
Jun 21 Python
python基于json文件实现的gearman任务自动重启代码实例
Aug 13 Python
Python中的list与tuple集合区别解析
Oct 12 Python
Python+opencv+pyaudio实现带声音屏幕录制
Dec 23 Python
关于tf.TFRecordReader()函数的用法解析
Feb 17 Python
什么是python类属性
Jun 10 Python
什么是python的自省
Jun 21 Python
用python写一个带有gui界面的密码生成器
Nov 06 Python
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
Apr 14 Python
如何表示python中的相对路径
Jul 08 #Python
如何卸载python插件
Jul 08 #Python
python中数字是否为可变类型
Jul 08 #Python
如何让python的运行速度得到提升
Jul 08 #Python
opencv 图像加法与图像融合的实现代码
Jul 08 #Python
opencv 图像轮廓的实现示例
Jul 08 #Python
opencv 图像滤波(均值,方框,高斯,中值)
Jul 08 #Python
You might like
PHP开启gzip页面压缩实例代码
2010/03/11 PHP
PHP中抽象类和抽象方法概念与用法分析
2016/05/24 PHP
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
jquery高级编程的最佳实践详解
2014/03/23 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
2015/01/28 Javascript
jquery渐隐渐显的图片幻灯闪烁切换实现方法
2015/02/26 Javascript
JavaScript判断表单为空及获取焦点的方法
2016/02/12 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
JavaScript数组去重的几种方法效率测试
2016/10/23 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
深入理解React高阶组件
2017/09/28 Javascript
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
2017/10/23 Javascript
详解JSON Web Token 入门教程
2018/07/30 Javascript
Angular事件之不同组件间传递数据的方法
2018/11/15 Javascript
Node配合WebSocket做多文件下载以及进度回传
2019/11/07 Javascript
JavaScript实现飞舞的泡泡效果
2020/02/07 Javascript
解决VUE项目使用Element-ui 下拉组件的验证失效问题
2020/11/07 Javascript
[59:35]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第一场 1月8日
2021/03/11 DOTA
Python pickle模块用法实例分析
2015/05/27 Python
在SAE上部署Python的Django框架的一些问题汇总
2015/05/30 Python
微信小程序python用户认证的实现
2019/07/29 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
2019/08/23 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
Python 多线程共享变量的实现示例
2020/04/17 Python
Python requests模块安装及使用教程图解
2020/06/30 Python
解决Python安装cryptography报错问题
2020/09/03 Python
CSS3教程:新增加的结构伪类
2009/04/02 HTML / CSS
使用CSS3来制作消息提醒框
2015/07/12 HTML / CSS
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
教师岗位职责范本
2013/12/29 职场文书
预备党员思想汇报范文
2013/12/29 职场文书
11月升旗仪式讲话稿
2014/02/15 职场文书
小学见习报告
2015/06/23 职场文书
煤矿隐患排查制度
2015/08/05 职场文书
安全教育培训心得体会
2016/01/15 职场文书
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL