我正在使用 OpenCV 2.2 运行 Ubuntu 11.10 (Lenovo T400)(我相信导入是通过 import cv2.cv as cv 完成的)。如果我只是“导入简历”,也会发生这个问题。
我最近开始遇到这个问题,这有点奇怪。我不知道我做了什么重要的事情,自从它开始发生以来我就重新开始了。我安装了几个程序,但我认为这些不会影响这一点。
当我运行显示的人造图像(只是黑色图像)时,我尝试轮询 cv.WaitKey(10)。它会吐出垃圾。
这是我的 OpenCV 代码:
import cv2.cv as cv
import time
cv.NamedWindow("camera", 1)
img = cv.CreateImage((400,400), 8, 3)
valkeys = range(1,255)
f = open('/home/andrew/webuploads/keyboardtest', 'wb')
while True:
cv.ShowImage("camera", img)
k = cv.WaitKey(10)
if k is -1:
pass
else:
print 'writing %s' %str(k)
f.write((str(k)+' '))
f.close()
这是我从程序中得到的输出:
1048678 1048676 1048673 1048691 1048676 1048678 1048689 1048695 1048677 1048688 1048687 1048681 1048677 1048677 1048695 1 048624 1048633 1048690 1048633 1048624 1048695 1048677 1048690 1048624 1048633 1048681 1048677 1048681 1048688 1048687 1048 677 1048681 1048692 1048688 1048681 1048688 1048687 1048681 1048681 1048688 1048687 1048585 1048687 1048681 1048688 1048687 1048681 1114085 1179728 1179727 1179721 1179728 1179721 1245153 1245289 1179727 1179721 1179727 1179721 1179728 1179727 1245155 1441865 1179728 1179727 1 179721 1179728 1179727 1179721 1179728 1179727 1179718 1179721 1179716 1179728 1179727 1179731 1179721 1179713 1179728 1179 727 1179687 1179723 1179716 1179736 1179724 1179715 1179734 1179725 1179692 1179736 1179738 1179725 1179715 1179734 1179692 1245155 1441859
现在我可以对这些数字取模 256 并得到一些合理的结果(刚刚尝试过,它正确地识别了我的所有密钥),但是,为什么我需要这样做?它以前确实工作过,没有做任何事情( print chr(k) 会给我一封信)。有人有主意吗?