python - opencv的waitKey()函数使用其他键

标签 python opencv

我正在开发一个程序(python ,opencv),在该程序中我使用 spacebar 进入下一帧,并使用 Esc 退出程序。这是我唯一可以使用的两个键。我试图找出更多的键,为它们尝试了各种代码,但没有用。尤其是方向键。

我找到了 this 关于waitkey,但它不起作用。

所以我的问题是,我如何捕捉除 escspacebar 之外的其他键来触发我的 python-opencv 程序中的某些功能?

最佳答案

您可以在 Python 中使用 ord() 函数。

例如,如果要触发'a'键按下,请执行以下操作:

if cv2.waitKey(33) == ord('a'):
   print "pressed a"

在此处查看示例代码: Drawing Histogram

更新:

要找到任何键的键值,只需使用如下简单脚本打印键值:

import cv2
img = cv2.imread('sof.jpg') # load a dummy image
while(1):
    cv2.imshow('img',img)
    k = cv2.waitKey(33)
    if k==27:    # Esc key to stop
        break
    elif k==-1:  # normally -1 returned,so don't print it
        continue
    else:
        print k # else print its value

使用此代码,我得到以下值:

Upkey : 2490368
DownKey : 2621440
LeftKey : 2424832
RightKey: 2555904
Space : 32
Delete : 3014656
...... # Continue yourself :)

关于python - opencv的waitKey()函数使用其他键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14494101/

相关文章:

python - 如何检查你的文件是否左对齐

python - 使用openCV和python处理图像

c++ - 在opencv中找到物体的凸包?

OpenCV 关键点 : information about angle and octave

python - OpenCV霍夫圆变换不起作用

python - 在Python中转置/ reshape 数据

python - 在python断言中,断言失败时如何打印条件?

python - 如何在 IDE 中导入 Airflow 自定义操作符、插件而不会出错

python - 绘制条件频率分布时以百分比格式显示 y 轴

c++ - OpenCv 中 cvCreateVideoWriter 的问题。再次 )