通过键盘控制,例如分别按1,2,3,4,0等,分别执行各种全景阈值处理。
时间: 2023-05-11 14:02:50 浏览: 100
可以使用 OpenCV 库中的阈值处理函数,通过键盘输入不同的数字来选择不同的阈值处理方式。具体实现可以参考以下代码:
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 定义阈值处理函数
def thresholding(img, threshold_type):
if threshold_type == 1:
# 二值化
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
_, img = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
elif threshold_type == 2:
# 反二值化
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
_, img = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY_INV)
elif threshold_type == 3:
# 截断
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
_, img = cv2.threshold(img, 127, 255, cv2.THRESH_TRUNC)
elif threshold_type == 4:
# 阈值化为0
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
_, img = cv2.threshold(img, 127, 255, cv2.THRESH_TOZERO)
elif threshold_type == 5:
# 反阈值化为0
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
_, img = cv2.threshold(img, 127, 255, cv2.THRESH_TOZERO_INV)
return img
# 循环等待键盘输入
while True:
cv2.imshow('image', img)
key = cv2.waitKey(0)
if key == ord('1'):
img = thresholding(img, 1)
elif key == ord('2'):
img = thresholding(img, 2)
elif key == ord('3'):
img = thresholding(img, 3)
elif key == ord('4'):
img = thresholding(img, 4)
elif key == ord('5'):
img = thresholding(img, 5)
elif key == ord('0'):
break
cv2.destroyAllWindows()
```
在运行程序时,按下数字键 1 到 5 分别执行不同的阈值处理方式,按下数字键 0 退出程序。