下方向键_求助:Deepin-linux-opencv方向键

1 opencv方向键取值

===============

1.1 这是一个坑,不能使用方向键:上下左右:↑↓←→。

1.2 Deepin-linux华为笔记本电脑的python的opencv的方向键取值问题,则是一个巨大的坑。

1.3 方向键:(不同的操作系统值不一样)

- 上(↑):?

- 下(↓):?

- 左(←):?

- 右(→):?

afcfc4e285ad3141e7fd324ff1cb113f.png

bg.jpeg

2 环境

=====

2.1 Deepin-linux华为笔记本电脑

5b9a438f60b995760f12479bc8104fdd.png

2.2 python3.8+opencv4.2.0

3 代码1的取值

===========

3.1 代码

import cv2#读取bg图片img = cv2.imread('/home/xgj/Desktop/cv2-keyevent/bg.jpeg',cv2.IMREAD_UNCHANGED)#原图大小显示cv2.imshow('image',img)#常规字母键k = cv2.waitKey(0)#获取del和shfit#k = cv2.waitKeyEx(0)print('key =', k)cv2.destroyAllWindows()

3.2 w s a d字母按键取值

#k = cv2.waitKey(0) 和k = cv2.waitKeyEx(0)

# 两者的结果是一样的

#w

key = 119

#s

key = 115

#a

key = 97

#d

key = 100

3.3 del键和shift键

k = cv2.waitKeyEx(0)

#del键

key = 65535

#shift键

key = 65506

k = cv2.waitKey(0)

#del键

key = 255

#shift键

key = 226

===取不到方向键:上下左右键===?

4 代码2的取值

===========

4.1 代码2

import cv2#读取图片img = cv2.imread('/home/xgj/Desktop/cv2-keyevent/bg.jpeg',cv2.IMREAD_UNCHANGED)key =0#按esc退出=27while key != 27:         cv2.imshow('xxx', img)    #常规取值       #key = cv2.waitKey()        #取方向键值bug    key = cv2.waitKeyEx()    # 如果获取的键值小于256则作为ascii码输出对应字符,否则直接输出值    msg = '{} is pressed'.format(chr(key)if key < 256 else key)    print(msg)     print(key)

4.2 第一次

#第一次取值

R is pressed

T is pressed

Q is pressed

S is pressed

4.3 再次就取不到值

4.4 删除(Delete):65535,可以取值到。

按道理,应该到的值为:

- 上(↑):65362

- 下(↓):65364

- 左(←):65361

- 右(→):65363

可是按键后没反应,那就当然取不到这些值了。

这是why?

4.5 操作图

77ceeb3d8f533dfdde4ae2e641c5b0b4.gif

不能使用方向键:上下左右:↑↓←→。

一个巨大的坑,希望高手指点,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值