python+opencv实现阈值分割
作者:Ruff_XY 时间:2023-05-19 11:23:50
最近老师留了几个作业,虽然用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,opencv,阈值分割
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python使用Selenium模拟浏览器自动操作功能
2021-01-19 07:55:33
![](https://img.aspxhome.com/file/2023/3/130673_0s.jpg)
100 个 Python 小例子(练习题二)
2021-02-09 10:15:31
Pandas 时间序列分析中的resample函数
2023-12-06 16:38:33
![](https://img.aspxhome.com/file/2023/4/93694_0s.png)
利用ADODB.Stream使用浏览器下载服务器文件
2008-10-09 12:42:00
MySQL数据库分组查询group by语句详解
2024-01-28 05:50:31
windows 10下安装搭建django1.10.3和Apache2.4的方法
2022-01-01 01:07:51
![](https://img.aspxhome.com/file/2023/6/105556_0s.png)
JavaScript控制flash操作 兼容IE FF[译]
2009-11-29 16:28:00
![](https://img.aspxhome.com/file/UploadPic/200911/29/flashjr-60s.jpg)
Python 利用argparse模块实现脚本命令行参数解析
2022-12-01 16:11:55
![](https://img.aspxhome.com/file/2023/7/86227_0s.png)
asp任何取得多个表单的值
2008-04-15 15:31:00
JavaScript的instanceof运算符学习教程
2024-04-17 10:09:59
如何修改pycharm使用anaconda环境后的pip install安装路径问题
2021-08-02 19:00:41
![](https://img.aspxhome.com/file/2023/7/127297_0s.jpg)
微信小程序如何修改本地缓存key中单个数据的详解
2024-05-09 10:34:57
![](https://img.aspxhome.com/file/2023/7/126857_0s.png)
详情解析TCP与UDP传输协议
2024-01-02 05:28:57
![](https://img.aspxhome.com/file/2023/3/109513_0s.png)
实际应用:MySQL5存储过程编写
2008-11-11 12:25:00
Django模板标签中url使用详解(url跳转到指定页面)
2023-12-18 00:09:54
Python中集合创建与使用详解
2022-04-30 05:29:42
![](https://img.aspxhome.com/file/2023/0/111990_0s.png)
python实现随机梯度下降(SGD)
2021-04-15 19:41:20
python Crypto模块的安装与使用方法
2022-09-17 15:19:01
![](https://img.aspxhome.com/file/2023/7/114487_0s.png)
Python GUI之tkinter详解
2021-09-11 06:36:01
![](https://img.aspxhome.com/file/2023/8/134448_0s.png)
SSM框架把日志信息保存到数据库过程详解
2024-01-19 12:56:27
![](https://img.aspxhome.com/file/2023/0/98400_0s.png)