当我尝试创建阈值图像时,窗口不响应

时间:2017-07-14 12:17:34

标签: python-2.7 opencv

当我尝试运行代码时,用于显示阈值图像的窗口不会响应。

import cv2 

src = cv2.imread("C:/Users/MikePC/Pictures/LifeCam Files/2017-07-14 12-20-
19.930.jpg",0)

thresh = 255
maxValue = 0

th, dst = cv2.threshold(src, thresh, maxValue, cv2.THRESH_BINARY_INV)

cv2.imshow( "thickerblackwaveblackaxis.PNG", dst)

cv2.imwrite("thickerblackwaveblackaxis.PNG", dst)

1 个答案:

答案 0 :(得分:1)

您的阈值为255且maxValue为0,这意味着您将遇到完全黑色的图像(请查看opencv阈值文档),您应该像我在下面的代码中那样更改这些值。除此之外,我建议您在Windows平台上使用双斜杠“\\”,因为单斜杠用于特殊字符(例如\n \t等)并始终在处理之前检查您的图像是否包含任何数据:

import cv2 

src = cv2.imread("C:\\Users\\MikePC\\Pictures\\LifeCam Files\\2017-07-14 12-20-19.930.jpg",0)

maxValue = 255
thresh= 0

if not src is None
    th, dst = cv2.threshold(src, thresh, maxValue, cv2.THRESH_BINARY_INV)
    cv2.imshow( "thickerblackwaveblackaxis.PNG", dst)
    cv2.imwrite("thickerblackwaveblackaxis.PNG", dst)
    cv2.waitKey(0) #it keeps the windows open forever
else
    print 'Image could not be read'

正如OpenCV文档所述:函数waitKey(delay)在延迟< = 0时无限地等待键事件,或者在延迟毫秒时等待它为正。因此,此代码将保持图像窗口打开,直到您按任意键。