debug的时候可以直接把图片画出来debug。

imshow函数就是python opencv的展示图片的函数,第一个是你要起的图片名,第二个是图片本身。waitKey函数是用来展示图片多久的,默认值为0,即不写参数时默认值为0,代表无限等待。当写参数时,例如waitKey(5),意思是等待5ms。另外当等待时间内无任何操作时等待结束后返回-1,当等待时间内有输入字符时,则返回字符的阿斯克码值。

 

 

主要通过while(char(waitKey())!=’q’){}这段代码来解释。这段代码的意思是等待直到键入q。


所以上面代码的意思就很明确了,首先waitKey()无限等待,如果输入字符q则waitKey()返回q的阿斯卡码值,然后char()将阿斯克码转换为字符,最后与’q’作对比。

waitKey()通常用在imshow()后面给予其足够的时间去显示图像,一般多个imshow()后面只需跟一个waitKey()即可。

---------------------

作者:SilenceHell

 

 




  • code 1
import cv2

def test():
lena = cv2.imread('lena.jpg')
cv2.imshow('image', lena)
cv2.waitKey(0)
print "I'm done"

if __name__ == '__main__':
test()


图片显示着,直到你按下任意一个键,才被关掉,打印出​​I'm done​​。



作者:庞贝船长

 

exit和continue的区别:

在for循环中,按q,exit会直接退出,continue则会显示下一张图片。不在for循环中,exit也是直接退出



for db in result_dict['result_boxes']:
img = drawQuadrangle(img,db,'red',1)
cv2.imshow('img',img)
if chr(cv2.waitKey(0)) == 'q':
exit()


 



for db in result_dict['result_boxes']:
img = drawQuadrangle(img,db,'red',1)
cv2.imshow('img',img)
if chr(cv2.waitKey(0)) == 'q':
continue