top*_*eng 91 python opencv image-processing
我正在使用opencv 2.4.2,python 2.7以下简单代码创建了一个正确名称的窗口,但其内容只是空白而不显示图像:
import cv2
img=cv2.imread('C:/Python27/03323_HD.jpg')
cv2.imshow('ImageWindow',img)
Run Code Online (Sandbox Code Playgroud)
有谁知道这个问题?
ber*_*rak 193
imshow()仅适用于waitKey():
import cv2
img = cv2.imread('C:/Python27/03323_HD.jpg')
cv2.imshow('ImageWindow', img)
cv2.waitKey()
Run Code Online (Sandbox Code Playgroud)
(更新窗口所需的整个消息循环都隐藏在那里.)
Akh*_*rus 39
我在这里找到了适合我的答案:http: //txt.arboreus.com/2012/07/11/highgui-opencv-window-from-ipython.html
如果您运行交互式ipython会话,并且想要使用highgui窗口,请首先执行cv2.startWindowThread().
详细说明:HighGUI是一个简化的界面,用于显示OpenCV代码中的图像和视频.它应该像以下一样简单:
import cv2
img = cv2.imread("image.jpg")
cv2.startWindowThread()
cv2.namedWindow("preview")
cv2.imshow("preview", img)
Run Code Online (Sandbox Code Playgroud)
Adi*_*ala 21
你必须使用cv2.waitKey(0)之后cv2.imshow("window",img).只有这样才能奏效.
import cv2
img=cv2.imread('C:/Python27/03323_HD.jpg')
cv2.imshow('Window',img)
cv2.waitKey(0)
Run Code Online (Sandbox Code Playgroud)
小智 8
这就是我解决它的方法:
import cv2
from matplotlib import pyplot
img = cv2.imread('path')
pyplot.imshow(img)
pyplot.show()
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的问题.我试图从IDLE读取图像并尝试使用它来显示它cv2.imshow(),但是pythonw.exe当试图关闭窗口时,显示窗口冻结并且显示没有响应.
下面的帖子给出了为什么会发生这种情况的可能解释
" 基本上,不要从IDLE执行此操作.编写脚本并在shell中直接运行它,如果在Windows中,通过使用.pyw扩展名命名并双击它.在IDLE自己的事件之间显然存在冲突循环和GUI工具包中的循环. "
当我imshow()在脚本中使用并执行它而不是直接在IDLE上运行时,它起作用了.
如果您在Python控制台中运行,请执行以下操作:
img = cv2.imread("yourimage.jpg")
cv2.imshow("img", img); cv2.waitKey(0); cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
然后,如果您按Enter图像,它将成功关闭图像,您可以继续运行其他命令。
方法一:
以下代码对我有用。只是添加 destroyAllWindows() 并没有关闭窗口。最后添加另一个 cv2.waitKey(1) 完成了这项工作。
im = cv2.imread("./input.jpg")
cv2.imshow("image", im)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.waitKey(1)
Run Code Online (Sandbox Code Playgroud)
信用:https : //stackoverflow.com/a/50091712/8109630
初学者注意事项:
方法二:
如果要显示在 Jupyter notebook 上。
from matplotlib import pyplot as plt
import cv2
im = cv2.imread("./input.jpg")
color = cv2.cvtColor(im, cv2.COLOR_BGR2RGB)
plt.imshow(color)
plt.title('Image')
plt.show()
Run Code Online (Sandbox Code Playgroud)