python+opencv实现阈值分割
作者:Ruff_XY 发布时间:2023-05-19 11:23:50
标签:python,opencv,阈值分割
最近老师留了几个作业,虽然用opencv很简单一句话就出来了,但是还没用python写过。在官方文档中的tutorial中的threshold里,看到可以创建两个滑动条来选择type和value,决定用python实现一下
注意python中的全局变量,用global声明
开始出现了一些问题,因为毁掉函数每次只能传回一个值,所以每次只能更新value,后来就弄了两个毁掉函数,这个时候,又出现了滑动其中一个,另一个的值就会变为默认值的情况,这个时候猜想是全局变量的问题,根据猜想改动之后果然是。
感觉还有更简单的方法,不需要设置两个回调参数,对python不是很熟悉,时间有限,先不折腾了
python+opencv实现高斯平滑滤波
python+opencv实现霍夫变换检测直线
(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
来源:https://blog.csdn.net/xieyi4650/article/details/51346798


猜你喜欢
- 我们目前生活在Python 3.8的稳定时代,上周发布了Python的最新稳定版本3.8.4。 Python 3.9已经处于其开发的beta
- Python跑循环时内存泄露今天在用Tensorflow跑回归做测试时,仅仅需要循环四千多次 (补充说一句,我在个人PC上跑的)。运行以后,
- 许多的语言,为了将异步模式处理得更像平常的顺序,都包含一种有趣的方案库,它们被称之为promises,deferreds,或者futures
- 本文实例讲述了Python基于xlrd模块操作Excel的方法。分享给大家供大家参考,具体如下:一、使用xlrd读取excel1、xlrd的
- 本文实例为大家分享了python绘制温度变化雷达图的具体代码,供大家参考,具体内容如下假设某天某地每三个小时取样的气温为针对温度变化趋势绘制
- pandas遍历每行并累加进行条件过滤 本次记录主要实现对每行进行排序,并保留前80%以前的偏好。思路:将每行的概率进行排序,然后
- 前言:在上一篇文章,已经实现了访问指定URL就返回了指定的数据,这也体现了RESTful API的一个理念,每一个URL代表着一个资源。当然
- 微软的visual studio没有自带连接Mysql的驱动,要去网上下载一个mysql-connector-net-6.4.3驱动,然后安
- tensorflow中可以通过配置环境变量 'TF_CPP_MIN_LOG_LEVEL' 的值,控制tensorflow是否
- 本文介绍MySQL数据库中执行select查询语句,查询指定列的数据,即指定字段的数据。再来回顾一下SQL语句中的select语句的语法:S
- 经常有朋友问起GoEasy如何实现IM,今天就手把手的带大家从头到尾用GoEasy实现一个完整IM聊天,全套代码已经放在了github。今日
- 本文为大家分享了路由嵌套的SPA实现的步骤:A(/a)组件需要嵌套B组件(/b)和C组件(/c)①准备嵌套其它组价的父组件 指定一个容器在A
- 前言Python 中一切皆对象,这些对象的内存都是在运行时动态地在堆中进行分配的,就连 Python 虚拟机使用的栈也是在堆上模拟的。既然一
- 本文实例讲述了python实现超简单端口转发的方法。分享给大家供大家参考。具体如下:代码非常简单,实现了简单的端口数据转发功能,用于真实环境
- 1.VUE验证邮箱export const isEmail = (s) => { return /^([a-
- 一、项目介绍 在此项目中,目的是预测爱荷华州A
- 比如:Set Connobject=nothing nothing如同英文单词字面意思,没有,没有那个,没有这个,没有东西 Set Conn
- 一个简单的实现class NaiveFilter():'''Filter Messages from keyword
- WindowsError的错误代码详解0操作成功完成。1功能错误。2系统找不到指定的文件。3系统找不到指定的路径。4系统无法打开文件。5拒绝
- 本文实例为大家分享了javascript实现向表格中动态加载数据的具体代码,供大家参考,具体内容如下首先在HTML中编写表格信息<ta