python+opencv实现阈值分割


Posted in Python onDecember 26, 2018

最近老师留了几个作业,虽然用opencv很简单一句话就出来了,但是还没用python写过。在官方文档中的tutorial中的threshold里,看到可以创建两个滑动条来选择type和value,决定用python实现一下

注意python中的全局变量,用global声明

开始出现了一些问题,因为毁掉函数每次只能传回一个值,所以每次只能更新value,后来就弄了两个毁掉函数,这个时候,又出现了滑动其中一个,另一个的值就会变为默认值的情况,这个时候猜想是全局变量的问题,根据猜想改动之后果然是。
感觉还有更简单的方法,不需要设置两个回调参数,对python不是很熟悉,时间有限,先不折腾了

(2016-5-10)到OpenCV-Python Tutorials's documentation!可以下载

代码

# -*- coding: utf-8 -*- 

import cv2

#两个回调函数
def thresholdType(threshold_type):
 global THRESHOLD_TYPE 
 THRESHOLD_TYPE = threshold_type
 print threshold_TYPE, threshold_VALUE
 ret, dst = cv2.threshold(scr, THRESHOLD_VALUE, max_value, THRESHOLD_TYPE) 
 cv2.imshow(window_name,dst)

def thresholdValue(threshold_value):
 global THRESHOLD_VALUE
 THRESHOLD_VALUE = threshold_value
 print threshold_TYPE, threshold_VALUE
 ret, dst = cv2.threshold(scr, THRESHOLD_VALUE, max_value, THRESHOLD_TYPE) 
 cv2.imshow(window_name,dst)

#全局变量
"""
"Type: 
0: Binary 
1: Binary Inverted 
2: Truncate 
3: To Zero 
4: To Zero Inverted"
"""
THRESHOLD_VALUE = 0
THRESHOLD_TYPE = 3
max_value = 255
max_type = 4
max_BINARY_value = 255
window_name = "Threshold Demo"
trackbar_type = "Type"
trackbar_value = "Value"

#读入图片,模式为灰度图,创建窗口
scr = cv2.imread("G:\homework\SmallTarget.png",0)
cv2.namedWindow(window_name)

#创建滑动条
cv2.createTrackbar( trackbar_type, window_name, \
   threshold_type, max_type, thresholdType)
cv2.createTrackbar( trackbar_value, window_name, \
   threshold_value, max_value, thresholdValue )
#初始化
thresholdType(0)

if cv2.waitKey(0) == 27: 
 cv2.destroyAllWindows()

执行

import threshold
>>> reload(threshold)
0 0
2 0
1 0
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 10
1 12
1 13
1 16
1 18

python+opencv实现阈值分割

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现巡检系统(solaris)示例
Apr 02 Python
Python中转换角度为弧度的radians()方法
May 18 Python
python实现Decorator模式实例代码
Feb 09 Python
Python并发:多线程与多进程的详解
Jan 24 Python
django配置连接数据库及原生sql语句的使用方法
Mar 03 Python
win8.1安装Python 2.7版环境图文详解
Jul 01 Python
Python中新式类与经典类的区别详析
Jul 10 Python
python获取网络图片方法及整理过程详解
Dec 20 Python
解决Django中checkbox复选框的传值问题
Mar 31 Python
Python enumerate() 函数如何实现索引功能
Jun 29 Python
python调试工具Birdseye的使用教程
May 25 Python
68行Python代码实现带难度升级的贪吃蛇
Jan 18 Python
对python xlrd读取datetime类型数据的方法详解
Dec 26 #Python
Flask核心机制之上下文源码剖析
Dec 25 #Python
flask session组件的使用示例
Dec 25 #Python
python+opencv实现霍夫变换检测直线
Oct 23 #Python
python利用插值法对折线进行平滑曲线处理
Dec 25 #Python
基于Python对数据shape的常见操作详解
Dec 25 #Python
Python正则匹配判断手机号是否合法的方法
Dec 09 #Python
You might like
PHP 多进程 解决难题
2009/06/22 PHP
一个经典的PHP文件上传类分享
2014/11/18 PHP
php中namespace use用法实例分析
2016/01/22 PHP
Joomla框架实现字符串截取的方法示例
2017/07/18 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
情人节专属 纯js脚本1k大小的3D玫瑰效果
2012/02/11 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
jquery 实现返回顶部功能
2014/11/17 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
Bootstrap按钮下拉菜单组件详解
2016/05/10 Javascript
JavaScript制作简单分页插件
2016/09/11 Javascript
js实现九宫格拼图小游戏
2017/02/13 Javascript
vue进行图片的预加载watch用法实例讲解
2018/02/07 Javascript
Angular父组件调用子组件的方法
2018/04/02 Javascript
js实现div色块拖动录制
2020/01/16 Javascript
Python实现优先级队列结构的方法详解
2016/06/02 Python
简单谈谈python中的多进程
2016/11/06 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
python字符串Intern机制详解
2019/07/01 Python
简单了解django缓存方式及配置
2019/07/19 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
2019/10/18 Python
python绘制高斯曲线
2021/02/19 Python
HTML5 canvas基本绘图之绘制五角星
2016/06/27 HTML / CSS
HTML5离线应用与客户端存储的实现
2018/05/03 HTML / CSS
彪马英国官网:PUMA英国
2019/02/11 全球购物
Conforama瑞士:家具、厨房、电器、装饰
2020/09/06 全球购物
北京天润融通.net面试题笔试题
2012/02/20 面试题
北京捷通华声语音技术有限公司Java软件工程师笔试题
2012/04/10 面试题
竞选村长演讲稿
2014/04/28 职场文书
个人学习党的群众路线教育实践活动心得体会
2014/11/05 职场文书
2014年宣传工作总结
2014/11/18 职场文书
2014年乡镇工作总结
2014/11/21 职场文书
优秀团队申报材料
2014/12/26 职场文书
游戏《东方异文石:爱亚利亚黎明》正式版发布
2022/04/03 其他游戏