本文主要详细介绍了python opencv中阈值分割的相关代码,具有一定的参考价值。感兴趣的朋友可以参考一下。
最近老师留了几个作业。虽然是用opencv简单一句话出来的,但是还没有用python写过。在官方文档教程的门槛里,看到可以创建两个滑块来选择类型和值,决定用python实现。
注意python中的全局变量,用global声明
起初,出现了一些问题。因为destroy函数一次只能返回一个值,所以它一次只能更新该值。后来,创建了两个销毁函数。这时,其中一个的滑动和另一个的值又会变成默认值。这时候猜测就是全局变量问题,真的是按照猜测改了之后。
感觉有更简单的方法,不需要设置两个回调参数。我对python不熟悉,时间有限,就不折腾了。
Opencv实现高斯平滑滤波
用Python CV实现Hough变换检测直线
(2016年5月10日)到OpenCV-Python教程的文档!可以下载。
密码
# -*-编码:utf-8 -*-
导入cv2
#两个回调函数
定义阈值类型(threshold_type):
全局阈值_类型
阈值类型=阈值类型
打印阈值类型,阈值值
ret,dst=cv2.threshold(scr,阈值值,最大值,阈值类型)
cv2.imshow(窗口名称,dst)
定义阈值值(threshold_value):
全局阈值
阈值=阈值
打印阈值类型,阈值值
ret,dst=cv2.threshold(scr,阈值值,最大值,阈值类型)
cv2.imshow(窗口名称,dst)
#全局变量
'''
类型:
0:二进位
1:二进制反转
2:截断
3:归零
“4:归零反转”
'''
阈值=0
THRESHOLD_TYPE=3
max_value=255
max_type=4
最大二进制值=255
window_name='阈值演示'
trackbar_type='Type '
trackbar_value='Value '
#读入图片,模式为灰度,创建窗口。
SCR=cv2 . im read(' G:\ homework \ small target . png ',0)
cv2.namedWindow(窗口名称)
#创建滑动条
cv2 . createtrackbar(trackbar _ type,window_name,\
阈值类型、最大值类型、阈值类型)
cv2 . createtrackbar(trackbar _ value,window_name,\
阈值、最大值、阈值)
#初始化
阈值类型(0)
如果cv2.waitKey(0)==27:
cv2.destroyAllWindows()
执行
导入阈值
重新加载(阈值)
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
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。