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检测服务器是否正常
Feb 16 Python
Python Queue模块详细介绍及实例
Dec 27 Python
Python 读写文件的操作代码
Sep 20 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
Aug 08 Python
Pytorch 实现自定义参数层的例子
Aug 17 Python
tensorflow 分类损失函数使用小记
Feb 18 Python
Python日志syslog使用原理详解
Feb 18 Python
Python使用type动态创建类操作示例
Feb 29 Python
Python实现一个简单的毕业生信息管理系统的示例代码
Jun 08 Python
Matplotlib自定义坐标轴刻度的实现示例
Jun 18 Python
python 调整图片亮度的示例
Dec 03 Python
解决PDF 转图片时丢文字的一种可能方式
Mar 04 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/01/07 PHP
PHP实现异步调用方法研究与分享
2011/10/27 PHP
通过 Dom 方法提高 innerHTML 性能
2008/03/26 Javascript
Javascript 错误处理的几种方法
2009/06/13 Javascript
JavaScript 新手24条实用建议[TUTS+]
2009/06/21 Javascript
jQuery技巧大放送 学习jquery的朋友可以看下
2009/10/14 Javascript
IE6 fixed的完美解决方案
2011/03/31 Javascript
JQuery1.6 使用方法三
2011/11/23 Javascript
ECMAScript6中Map/WeakMap详解
2015/06/12 Javascript
使用AngularJS处理单选框和复选框的简单方法
2015/06/19 Javascript
javascript去掉代码里面的注释
2015/07/24 Javascript
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
JS上传图片预览插件制作(兼容到IE6)
2016/08/07 Javascript
可输入文字查找ajax下拉框控件 ComBox的实现方法
2016/10/25 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
2018/03/02 Javascript
Taro集成Redux快速上手的方法示例
2018/06/21 Javascript
如何用JS模拟实现数组的map方法
2020/07/30 Javascript
详解JS深拷贝与浅拷贝
2020/08/04 Javascript
[41:13]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第一场 11.20
2020/11/20 DOTA
使用Python的networkx绘制精美网络图教程
2019/11/21 Python
python-视频分帧&多帧合成视频实例
2019/12/10 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
都柏林通行卡/城市通票:The Dublin Pass
2020/02/16 全球购物
《长城》教学反思
2014/02/14 职场文书
北京奥运会口号
2014/06/21 职场文书
重阳节活动总结
2014/08/27 职场文书
我为党旗添光彩演讲稿
2014/09/13 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
导游词格式
2015/02/13 职场文书
爱国主义教育基地观后感
2015/06/18 职场文书
校运会宣传稿大全
2015/07/23 职场文书
如何有效防止sql注入的方法
2021/05/25 SQL Server
类和原型的设计模式之复制与委托差异
2022/07/07 Javascript