Python opencv drawContours ne montrent rien

J'ai suivi le tutoriel à cette page mais rien ne semble se produire lorsque la ligne cv2.drawContours(im,contours,-1,(0,255,0),3) est exécutée. Je m'attendais à voir star.jpg avec un contour vert, comme indiqué dans le tutoriel. Voici mon code:

import numpy as np
import cv2

im = cv2.imread('C:\Temp\ip\star.jpg')
print im.shape #check if the image is loaded correctly
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,127,255,0)
contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(im,contours,-1,(0,255,0),3)
pass

Il n'y a pas de messages d'erreur. star.jpg est la star de cette page web.
Je suis à l'aide d'opencv version 2.4.8 et Python 2.7.

Est drawContours censé afficher une image sur mon écran? Si oui, qu'ai-je fait de mal? Si non, comment puis-je afficher l'image?

Grâce

Edit:

Ajoutant les lignes suivantes vont montrer l'image:

cv2.imshow("window title", im)
cv2.waitKey()

waitKey() est nécessaire sinon la fenêtre indiquera seulement un arrière-plan gris. Selon ce post, c'est parce que waitKey() lui dit de commencer la manipulation de la WM_PAINT événement.

drawContours(.) dessine les contours sur l'image. Il ne s'affiche pas sur l'écran. Après l'appel de drawContours(.) vous avez pour afficher l'image im pour le voir.

OriginalL'auteur King Long Tse | 2014-03-03