opencv图像二值化,添加滑块调节阈值
时间: 2023-03-28 22:02:27 浏览: 131
可以使用cv2.threshold()函数进行图像二值化,其中阈值可以通过滑块进行调节。具体代码如下:
```
import cv2
import numpy as np
def nothing(x):
pass
img = cv2.imread('image.jpg', )
cv2.namedWindow('image')
cv2.createTrackbar('threshold', 'image', , 255, nothing)
while True:
threshold = cv2.getTrackbarPos('threshold', 'image')
ret, thresh = cv2.threshold(img, threshold, 255, cv2.THRESH_BINARY)
cv2.imshow('image', thresh)
k = cv2.waitKey(1) & xFF
if k == 27:
break
cv2.destroyAllWindows()
```
其中,nothing()函数是一个空函数,用于滑块回调函数的占位符。cv2.namedWindow()函数用于创建一个窗口,cv2.createTrackbar()函数用于创建一个滑块。cv2.getTrackbarPos()函数用于获取滑块的当前位置,cv2.threshold()函数用于进行图像二值化。最后,使用cv2.imshow()函数显示图像,cv2.waitKey()函数等待键盘输入,cv2.destroyAllWindows()函数关闭所有窗口。
阅读全文