Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 当我尝试创建阈值图像时,窗口不会响应_Python 2.7_Opencv - Fatal编程技术网

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

Python 2.7 当我尝试创建阈值图像时,窗口不会响应,python-2.7,opencv,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( "thickerbl

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

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)

您的阈值是255,最大值是0,这意味着您将遇到完全黑色的图像检查opencv阈值文档,您应该像我在下面的代码中所做的那样更改这些值。除此之外,我建议您在Windows平台上工作时使用双斜杠\\,因为单斜杠用于特殊字符,如cases\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文档所述:函数waitKeydelay在没有延迟的情况下无限地等待一个键事件。阅读文档:此函数后面应跟随waitKey函数,该函数在指定毫秒内显示图像。否则,它将不会显示图像imread可能无法读取图像-在使用前测试结果。带有正斜杠的路径在Windows上工作正常,您可以轻松验证这一点。建议测试imread的结果是有用的。然而,就像OP一样,你错过了关键的等待键。因此,此代码与原始代码一样功能失调。是的,您是对的,问题在于waitKey。我曾经遇到过单刀杠问题,而且从来没有重复使用过,至少对于C++来说,它可能会导致空图像。我还编辑了我的答案,这是朝着好的方向迈出的一步。我建议再做一些改进:1在答案中添加一些关于斜杠的解释。2添加对文档的引用,同时引用一些重要的信息,就像我在对问题的评论中所做的那样。我这样做了,我发现了关于调用threshold lol的另一个错误。@Bhoke你能告诉我关于调用threshold的另一个错误吗,因为我现在得到的是纯黑色的图像,而不是背景为黑色的白色波浪。我知道我看起来一定很愚蠢,但这是我第一周学习任何类型的编码或编程