python opencv show图片,debug技巧

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
来源:CSDN
原文:https://blog.csdn.net/Du_Shuang/article/details/77836492
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 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



作者:庞贝船长
链接:https://www.jianshu.com/p/30c40d7ce5dc
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

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

https://www.jianshu.com/p/30c40d7ce5dc

原文地址:https://www.cnblogs.com/ymjyqsx/p/10317098.html