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实现多线程暴力破解登陆路由器功能代码分享
Jan 04 Python
详解Python中DOM方法的动态性
Apr 11 Python
Djang中静态文件配置方法
Jul 30 Python
举例讲解Python设计模式编程中对抽象工厂模式的运用
Mar 02 Python
利用python生成一个导出数据库的bat脚本文件的方法
Dec 30 Python
理解Python中的绝对路径和相对路径
Aug 30 Python
详细解读tornado协程(coroutine)原理
Jan 15 Python
Python3之文件读写操作的实例讲解
Jan 23 Python
解决python selenium3启动不了firefox的问题
Oct 13 Python
python3爬取torrent种子链接实例
Jan 16 Python
python3从网络摄像机解析mjpeg http流的示例
Nov 13 Python
Python Matplotlib绘制动画的代码详解
May 30 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
Get或Post提交值的非法数据处理
2006/10/09 PHP
PHP中__get()和__set()的用法实例详解
2013/06/04 PHP
php中把美国时间转为北京时间的自定义函数分享
2014/07/28 PHP
php中array_column函数简单实现方法
2016/07/11 PHP
php计算多个集合的笛卡尔积实例详解
2017/02/16 PHP
php通过各种函数判断0和空
2020/07/04 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
2020/01/25 PHP
在JavaScript中遭遇级联表达式陷阱
2007/03/08 Javascript
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
2014/10/10 Javascript
深入剖析JavaScript编程中的对象概念
2015/10/21 Javascript
JavaScript模块规范之AMD规范和CMD规范
2015/10/27 Javascript
解析javascript瀑布流原理实现图片滚动加载
2016/03/10 Javascript
javascript实现粘贴qq截图功能(clipboardData)
2016/05/29 Javascript
微信小程序图片宽100%显示并且不变形
2017/06/21 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
2018/02/10 Javascript
js实现购物车功能
2018/06/12 Javascript
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
vue.js单文件组件中非父子组件的传值实例
2018/09/13 Javascript
js实现动态增加文件域表单功能
2018/10/22 Javascript
javascript读取本地文件和目录方法详解
2020/08/06 Javascript
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
python引入不同文件夹下的自定义模块方法
2018/10/27 Python
Python中的字符串切片(截取字符串)的详解
2019/05/15 Python
Django如何简单快速实现PUT、DELETE方法
2019/07/24 Python
python实现多进程通信实例分析
2019/09/01 Python
python设置随机种子实例讲解
2019/09/12 Python
python绘制随机网络图形示例
2019/11/21 Python
python实现翻译word表格小程序
2020/02/27 Python
俄罗斯电子产品在线商店:UltraTrade
2020/01/30 全球购物
人力资源部副职的竞聘演讲稿
2014/01/07 职场文书
学习党的群众路线剖析材料
2014/10/09 职场文书
如何写通讯稿
2015/07/22 职场文书
《只有一个地球》教学反思
2016/02/16 职场文书
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server